MS Access建表添加外键时提示constraint clause语法错误问题咨询
MS Access外键约束语法错误修复方案
错误根因
你提交的SQL存在两处不符合Access SQL语法规范的问题:
- 列级外键定义不需要写
FOREIGN KEY关键字,Access在字段后直接跟REFERENCES即可识别外键关联,多余的FOREIGN KEY是触发constraint clause语法错误的核心原因 BOOK_INVENTORY表的LendorID字段定义行末尾多了一个多余的逗号,会导致字段列表解析失败- 补充注意:建表顺序必须先创建
LENDOR_INFO表,再创建BOOK_INVENTORY表,否则关联的主表不存在也会报错
修正后的建表代码
LENDOR_INFO表(原有代码无问题,需先执行创建)
CREATE TABLE LENDOR_INFO ( LendorID varchar(5) NOT NULL, LendorLastName varchar(20) NOT NULL, LendorFirstName varchar(20) NOT NULL, LendorEmail varchar(100) NOT NULL, PRIMARY KEY (LendorID) );
BOOK_INVENTORY表(修正后代码)
CREATE TABLE BOOK_INVENTORY ( CRN int NOT NULL PRIMARY KEY, AuthorLastName varchar(20) NOT NULL, AuthorFirstName varchar(20) NOT NULL, BookTitle varchar (100) NOT NULL, LendorID varchar(5) REFERENCES LENDOR_INFO(LendorID) );
内容的提问来源于stack exchange,提问作者Trevor Lavigne
相关产品推荐
相关产品推荐

