簡體   English   中英

SQL 當表上的列名存在時服務器顯示無效的列名

[英]SQL Server show invalid column name when the column name on the table exists

當列實際存在於創建的表中時,錯誤消息顯示錯誤無效列名。

CREATE TABLE Worker (
    WORKER_ID INT NOT NULL,
    FIRST_NAME CHAR(25),
    LAST_NAME CHAR(25),
    SALARY INT,
    JOINING_DATE DATETIME,
    DEPARTMENT CHAR(25)
);

INSERT INTO Worker 
(WORKER_ID, FIRST_NAME, LAST_NAME, SALARY, JOINING_DATE, DEPARTMENT) VALUES
        (001, 'Monika', 'Arora', 100000, '14-02-20 09.00.00', 'HR'),
        (002, 'Niharika', 'Verma', 80000, '14-06-11 09.00.00', 'Admin'),
        (003, 'Vishal', 'Singhal', 300000, '14-02-20 09.00.00', 'HR'),
        (004, 'Amitabh', 'Singh', 500000, '14-02-20 09.00.00', 'Admin'),
        (005, 'Vivek', 'Bhati', 500000, '14-06-11 09.00.00', 'Admin'),
        (006, 'Vipul', 'Diwan', 200000, '14-06-11 09.00.00', 'Account'),
        (007, 'Satish', 'Kumar', 75000, '14-01-20 09.00.00', 'Account'),
        (008, 'Geetika', 'Chauhan', 90000, '14-04-11 09.00.00', 'Admin');

我已成功創建表,我沒有在列名中看到任何拼寫錯誤。 此代碼是從https://www.techbeamers.com/sql-query-questions-answers-for-practice/復制的。

在此處輸入圖像描述

因此,當我 hover 提供的列名“無效的列名'FIRST NAME'”時,該列的 rest 給出了相同的錯誤消息

另一個問題是當我嘗試執行代碼時,它給出了:

消息 208,級別 16,State 1,第 17 行無效 object 名稱“工人”。

謝謝。

在插入之前有一個DROP語句。 這就是為什么您會收到該列丟失的警告。

您可能希望將DROP語句移到CREATE語句之前,或者甚至使用新語法DROP TABLE IF EXISTS...如果它在您的版本中可用。

您在插入期間傳遞了無效的日期時間。 它應該如下所示:

INSERT INTO Worker 
(WORKER_ID, FIRST_NAME, LAST_NAME, SALARY, JOINING_DATE, DEPARTMENT) VALUES
        (001, 'Monika', 'Arora', 100000, '2000-02-14 09:00:00', 'HR')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM