Sql 在访问时生成外键
我试图在Access上建立一个关于国家(学校作业)的数据库,但Access说关于我使用单词REFERENCES的约束子句中存在语法错误-有人知道如何让这些外键工作吗?我一直在尝试查找它,但没有结果(也刚刚开始使用SQL) 下面是我添加更多逗号的时候Sql 在访问时生成外键,sql,ms-access,Sql,Ms Access,我试图在Access上建立一个关于国家(学校作业)的数据库,但Access说关于我使用单词REFERENCES的约束子句中存在语法错误-有人知道如何让这些外键工作吗?我一直在尝试查找它,但没有结果(也刚刚开始使用SQL) 下面是我添加更多逗号的时候 下面是一个类似但更简单的查询,可在Access 2010中使用 请注意,我在国家/地区表中定义了一个Politics\u ID字段,用作引用政治表的外键字段 创建表国家/地区 ( 国家/地区ID整数主键, 国家/地区名称文本(255), 政治是一个
下面是一个类似但更简单的查询,可在Access 2010中使用 请注意,我在
国家/地区
表中定义了一个Politics\u ID
字段,用作引用政治
表的外键字段
创建表国家/地区
(
国家/地区ID整数主键,
国家/地区名称文本(255),
政治是一个整数,
约束fkPoliticsID外键(Politics_ID)引用政治
);
该语句假定远程表中的匹配字段(Politics
)也被命名为Politics\u ID
。但是,如果该远程字段具有不同的名称(例如Pol_ID
),则可以在远程表名称后包含其名称,如下所示:
CONSTRAINT fkPoliticsID外键(Politics_ID)引用Politics(Pol_ID)
错误消息是什么?为什么要以编程方式创建表?请查看并重试。也许:FOREIGN KEY(Politics_ID)REFERENCES
。这是一个学校项目,我添加了一张显示问题的图片以供澄清,感谢您的反馈:)我也尝试过(链接建议),但没有解决它(虽然确实有帮助,谢谢)我尝试过,而且很有帮助,但是问题仍然没有解决。我添加了一张现在正在发生的事情的图片。您的示例查询文本和两个屏幕截图中的查询都是不同的。如果第三个版本——第二个屏幕截图中的版本——是您正在测试的版本,那么如果您先关闭教育
表,它可能会工作。同时关闭Geography
表以避免该表发生锁定故障。
Create Table Countries
(Country_ID INTEGER primary key,
name TEXT(255),
Politics_ID INTEGER
CONSTRAINT fkPoliticsID FOREIGN KEY (Politics_ID) REFERENCES Politics,
Eduction_ID INTEGER
CONSTRAINT fkEductionID FOREIGN KEY (Eduction_ID) REFERENCES Eduction,
Geography_ID INTEGER
CONSTRAINT fkGeographyID FOREIGN KEY (Geography_ID) REFERENCES
Geography,
Demographic_ID INTEGER
CONSTRAINT fkDemographicID FOREIGN KEY (Demographic_ID) REFERENCES
Demographic,
Economy_ID INTEGER
CONSTRAINT fkEconomyID FOREIGN KEY (Economy_ID) REFERENCES Economy
);