教授给出了一个.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/