教授给了一个.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
都是不同的。你不能将你在某些rdbms
中工作的语句用于其他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/