繁体   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