SQL Сервер показывает недопустимое имя столбца, если имя столбца в таблице существует - PullRequest
1 голос
/ 05 августа 2020

Сообщение об ошибке показало ошибку недопустимое имя столбца, когда столбец действительно существует в созданной таблице.

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

введите описание изображения здесь

Итак, когда я наводил указатель мыши на имя столбца, он выдает «Неверное имя столбца 'ПЕРВОЕ ИМЯ'», а остальная часть столбца дает то же сообщение об ошибке.

Другая проблема - когда я пытаюсь выполнить код, он дает:

Сообщение 208, уровень 16, состояние 1, строка 17 Недопустимое имя объекта «Рабочий».

Спасибо.

Ответы [ 2 ]

1 голос
/ 05 августа 2020

У вас есть инструкция DROP перед вставкой. Вот почему вы получаете предупреждение о том, что столбец отсутствует.

Вы можете переместить инструкцию DROP перед CREATE или даже использовать новый синтаксис DROP TABLE IF EXISTS ..., если он доступен в вашем тираж.

0 голосов
/ 05 августа 2020

Вы передаете недопустимое datetime во время вставки. Это должно быть примерно так:

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