gpt4 book ai didi

mysql - 为什么我不能在 MySQL 中创建这个表?错误 1005 (HY000)

转载 作者:搜寻专家 更新时间:2023-10-30 20:36:54 26 4
gpt4 key购买 nike

错误信息:

ERROR 1005 (HY000) at line __: Can't create table 'doanv.ENROLLED' (errno: 150) Bye

STUDENTCOURSEPROF 已成功创建。无法创建表 ENROLLEDTEACHING。我做错了什么?

CREATE TABLE STUDENT
(sID INTEGER PRIMARY KEY NOT NULL,
sFName VARCHAR(20),
sLName VARCHAR(20));

CREATE TABLE COURSE
(cID VARCHAR(20) PRIMARY KEY NOT NULL,
cName VARCHAR(20),
cr INTEGER);

CREATE TABLE PROF
(pID INTEGER PRIMARY KEY NOT NULL,
pFName VARCHAR(20),
pLName VARCHAR(20));

CREATE TABLE ENROLLED
(sID INTEGER NOT NULL,
cID VARCHAR(20) NOT NULL,
PRIMARY KEY (sID, cID),
FOREIGN KEY (sID) REFERENCES STUDENT,
FOREIGN KEY (cID) REFERENCES COURSE);

CREATE TABLE TEACHING
(pID INTEGER NOT NULL,
cID VARCHAR(20) NOT NULL,
PRIMARY KEY (pID, cID),
FOREIGN KEY (pID) REFERENCES PROF,
FOREIGN KEY (cID) REFERENCES COURSE);

最佳答案

在 MySQL 中,您需要指定所引用的列。在 SQL 的其他一些实现中,您可以省略 (sID)(cID)

CREATE TABLE ENROLLED
(sID INTEGER NOT NULL,
cID VARCHAR(20) NOT NULL,
PRIMARY KEY (sID, cID),
FOREIGN KEY (sID) REFERENCES STUDENT(sID),
FOREIGN KEY (cID) REFERENCES COURSE(cID));

关于mysql - 为什么我不能在 MySQL 中创建这个表?错误 1005 (HY000),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35677285/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com