Я не могу создать простую таблицу

Я пытаюсь написать код 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 подхода, которые приведут к ошибке, которую вы описываете.

Убедитесь, что ваш ПЕРВИЧНЫЙ КЛЮЧ и ИНОСТРАННЫЙ КЛЮЧ имеют одинаковый ТИП ДАННЫХ.

Другие вопросы по тегам