mysql - 在 postgres 上运行的 MySQL 上的 CONSTRAINT 出现语法错误

标签 mysql sql postgresql syntax

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

相关文章:

php - 用于从单个 mysql 记录检索数据的 HTML 超链接

mysql - 是否可以按交替顺序输出两个子查询的联合结果?

bash - PSQL PG_DUMP 与 su - postgres

mysql - 从数据文件夹备份恢复 mysql 数据库

MySQL表组织

MySql 列出直接和间接子记录

sql - 使用 CTE 对查询结果进行分组

sql - 根据连接表中的多次出现从数据库中选择

php - 如何使用产生正确产品的选择选项过滤 MySQL 查询

只有 1 个值的 MySQL 数据类型?