此SQL命令的语法有什么问题

时间:2019-04-08 15:55:14

标签: mysql sql

无论我看多长时间,我都找不到错误。 我将其放在在线语法检查器中,并说错误在结尾行附近。

CREATE TABLE employee (
emp_ID      INT             (30) NOT NULL, 
position        VARCHAR     (30) NOT NULL, 
emp_FName   VARCHAR     (30) NOT NULL,
emp_LName   VARCHAR     (30) NOT NULL, 
ohip        VARCHAR     (15) NOT NULL, 
home_Phone  INT         (15), 
start_Date  DATE, 
team_ID INT             (30) NOT NULL,  

Constraint     employee_emp_ID_PK       Primary Key (emp_ID),
Constraint     employee_team_ID_FK      Foreign Key (team_ID) 

)

2 个答案:

答案 0 :(得分:2)

外键需要引用某些内容。因此,大概是:

Constraint employee_team_ID_FK Foreign Key (team_ID) references teams(team_id)

或类似的东西。

此外,我不确定int(30)是什么意思。这只是该值的显示宽度,并且因为整数只能包含10位数字(如果包含负号,则为11位),所以30位没有意义。

答案 1 :(得分:0)

对于外键,请指定参考表及其主键。

  CREATE TABLE employee (
    emp_ID      INT              NOT NULL  Primary Key, 
    position    VARCHAR     (30) NOT NULL, 
    emp_FName   VARCHAR     (30) NOT NULL,
    emp_LName   VARCHAR     (30) NOT NULL, 
    ohip        VARCHAR     (15) NOT NULL, 
    home_Phone  INT          , 
    start_Date  DATE, 
    team_ID INT              NOT NULL FOREIGN KEY REFERENCES reftable(ID),  

     )