当表上的列名存在时,sql server显示无效的列名

sirbozc5  于 2021-07-24  发布在  Java
关注(0)|答案(2)|浏览(402)

当列实际存在于创建的表中时,错误消息显示error invalid column name。

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/.

因此,当我悬停列名时,它会提供“invalid column name'first name'”,而列的其余部分会给出相同的错误消息
另一个问题是,当我尝试执行代码时,它会给出:
msg 208,级别16,状态1,第17行对象名“worker”无效。
谢谢。

nbysray5

nbysray51#

你有一个 DROP 插入前的语句。这就是为什么你会得到一个列丢失的警告。
你可以移动 DROP 会议前的声明 CREATE 一个,甚至使用新的语法 DROP TABLE IF EXISTS ... 如果你的版本中有。

bakd9h0s

bakd9h0s2#

插入过程中传递的日期时间无效。应该是这样的:

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')

相关问题