教授给出了一个.sql文件来做一些练习,以下是其中的一部分:

创建表单元

   (DEPTNO NUMERIC(2) CONSTRAINT PK_DEPT PRIMARY KEY, (error 1)
DNAME VARCHAR(14),
LOC VARCHAR(13) );


创建表EMP

   (EMPNO NUMERIC(4) CONSTRAINT PK_EMP PRIMARY KEY, (error 2)
ENAME VARCHAR(10),
JOB VARCHAR(9),
HIREDATE DATE,
SAL NUMERIC(7,2),
DEPTNO NUMERIC(2) CONSTRAINT FK_DEPTNO REFERENCES DEPT); (error 3)


我们使用pgadmin 3在类中运行了文件,一切正常,但是我下载了MySQL而不是postgres继续在家进行练习,并且出现了错误:“意外约束”。由于它适用于postgres,但不适用于MySQL,也许是MySQL语法错误?

最佳答案

您应该做得更冗长,并且每个rdbms都不相同。

表部

CREATE TABLE DEPT
(DEPTNO NUMERIC(2),
DNAME VARCHAR(14),
LOC VARCHAR(13),
CONSTRAINT PK_DEPT PRIMARY KEY (DEPTNO));


表Emp

CREATE TABLE EMP
(EMPNO NUMERIC(4),
ENAME VARCHAR(10),
JOB VARCHAR(9),
HIREDATE DATE,
SAL NUMERIC(7,2),
DEPTNO NUMERIC(2),
CONSTRAINT PK_EMP PRIMARY KEY (EMPNO),
CONSTRAINT FK_DEPTNO FOREIGN KEY (DEPTNO) REFERENCES DEPT(DEPTNO));

关于mysql - 在Postgres上运行的MySQL上CONSTRAINT的语法错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53243520/

10-09 22:01