这个mysql语法有什么问题?在第一个主键上给出错误

时间:2014-04-30 18:30:27

标签: mysql syntax-error

它给了我一个语法错误,但我无法确定错误。

use test;
CREATE TABLE EMPLOYEE_EXPENSE
  (
    "EMP_EXP_ID" INT    NOT NULL,
    "EMP_ID" INT(5,0),
    "YEAR" INT(4,0),
    "MONTH"         INT(2,0),
    "EXPENSE_CLAIM" INT(7,2),
    "APPROVED_AMT"  INT(7,2),
    "PAID_DATE" DATE,
    CONSTRAINT "EMP_EXP_PK" PRIMARY KEY ("EMP_EXP_ID"), 
    CONSTRAINT "FK_EMPLOYEE" FOREIGN KEY ("EMP_ID") REFERENCES "EMPLOYEE" ("EMP_ID") ENABLE
  );

mysql workbench在第一个EMP_EXP_ID下显示红色小节。

这里的员工表。

CREATE TABLE EMPLOYEE(
    EMP_ID            INT(5)    NOT NULL,
    FNAME             VARCHAR(20),
    LNAME             VARCHAR(20),
    DEPT_ID           INT(5)    NOT NULL,
    MANAGER_EMP_ID    INT(5),
    SALARY            INT(5),
    HIRE_DATE         DATE,
    JOB_ID            INT(3),
    ACTIVE            CHAR(1)  DEFAULT 'Y' NOT NULL,
    CONSTRAINT employee_pk PRIMARY KEY (EMP_ID)
);

1 个答案:

答案 0 :(得分:2)

删除列标识符周围的引号。他们是不正确的。要么使用刻度线,要么根本不使用。

use test;
CREATE TABLE EMPLOYEE_EXPENSE
  (
    EMP_EXP_ID INT    NOT NULL,
    EMP_ID INT(5,0),
    YEAR INT(4,0),
    MONTH         INT(2,0),
    EXPENSE_CLAIM INT(7,2),
    APPROVED_AMT  INT(7,2),
    PAID_DATE DATE,
    CONSTRAINT EMP_EXP_PK PRIMARY KEY (EMP_EXP_ID), 
    CONSTRAINT FK_EMPLOYEE FOREIGN KEY (EMP_ID) REFERENCES EMPLOYEE (EMP_ID) ENABLE
  );