Я не могу создать простую таблицу
Я пытаюсь написать код SQL для создания таблицы с именем "EMP_1". Эта таблица является подмножеством таблицы EMPLOYEE, и структура таблицы обобщена, как показано ниже. Это информация:
Attribute Name Data Type Remarks
EMP_NUM CHAR(3) PK
EMP_LNAME VARCHAR(15) Not Null
EMP_FNAME VARCHAR(15) Not Null
EMP_INITIAL CHAR(1)
EMP_HIREDATE DATE
JOB_CODE CHAR(3) FK (from JOB table)
Мой код:
CREATE TABLE EMP_1
(
EMP_NUM CHAR(3) PRIMARY KEY,
EMP_LNAME VARCHAR(15) Not Null,
EMP_FNAME VARCHAR(15) Not Null,
EMP_INITIAL CHAR(1) ,
EMP_HIREDATE DATETIME,
JOB_CODE CHAR(3) FOREIGN KEY (JOB_CODE) REFERENCES JOB(JOB_CODE)
);
Я продолжаю получать сообщение об ошибке
3 ответа
Я думаю, что вы можете пропустить запятую до ограничения. Это сработало, когда я попробовал это:
CREATE TABLE EMP_1
(
EMP_NUM CHAR(3) PRIMARY KEY,
EMP_LNAME VARCHAR(15) Not Null,
EMP_FNAME VARCHAR(15) Not Null,
EMP_INITIAL CHAR(1),
EMP_HIREDATE DATETIME,
JOB_CODE CHAR(3),
CONSTRAINT FK_JOBS FOREIGN KEY (JOB_CODE) REFERENCES JOB(JOB_CODE)
);
Я не писал FK некоторое время, но я помню, что вы можете ЛИБО использовать:
JOB_CODE CHAR (3) FOREIGN KEY REFERENCES JOB (JOB_CODE), который создаст FK с именем JOB_CODE,
ИЛИ: разделите строку, чтобы создать поле и добавить ограничение отдельно в соответствии с ответом JPW.
Ваш оригинальный код пытается объединить 2 подхода, которые приведут к ошибке, которую вы описываете.
Убедитесь, что ваш ПЕРВИЧНЫЙ КЛЮЧ и ИНОСТРАННЫЙ КЛЮЧ имеют одинаковый ТИП ДАННЫХ.