创建Patient表SQL语句报错求助,Doctor等关联表已成功执行
问题排查与修正方案
我一眼就看到你SQL语句里的几个关键语法错误,这应该就是导致报错的核心原因:
1. 外键约束关键词拼写错误
你在定义外键的时候,把REFERENCES拼错了:
- 第一个外键写成了
REFERNCES(少了一个E) - 第二个外键写成了
REFERNECES(E和N的顺序反了)
数据库引擎无法识别错误的关键词,自然会抛出语法错误。
修正后的完整SQL语句
CREATE TABLE Patient( pAdminNumber int NOT NULL, dID int NOT NULL, wID int NOT NULL, pName VARCHAR(50), DOB DATE, pGender CHAR(10), pAddress VARCHAR(50), pTelephone VARCHAR(50), PRIMARY KEY(pAdminNumber), FOREIGN KEY(dID) REFERENCES Doctor(dID), FOREIGN KEY(wID) REFERENCES Ward(wID) );
额外检查点(如果修正后仍报错)
虽然你说Doctor和Ward表已创建,但还是建议确认以下几点:
Ward表中的wID列必须是int类型,并且是主键或者有唯一约束(外键必须引用唯一标识的列)Doctor表中的dID列同样需要是主键或唯一约束- 确保没有其他隐性的语法问题(比如之前的表创建语句有没有未闭合的括号,不过你说那两张表成功了,这个概率很低)
内容的提问来源于stack exchange,提问作者user8915437
相关产品推荐
相关产品推荐

