在 Access 上制作外键

问题描述

我正在尝试在 Access 上创建一个关于国家/地区(用于学校作业)的数据库,但 Access 说使用 REFERENCES 一词在关于我的约束子句中存在语法错误 - 有没有人知道如何获取这些外键工作吗?我一直在尝试查找,但无济于事(也刚开始使用 sql

     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
     );

enter image description here

这是我添加更多逗号的时候

enter image description here

解决方法

这是一个类似但更简单的查询,适用于 Access 2010。

请注意,我在 Politics_ID 表中定义了一个 Countries 字段作为用于引用 Politics 表的外键字段。

CREATE TABLE Countries
(
    Country_ID INTEGER primary key,Country_name TEXT(255),Politics_ID INTEGER,CONSTRAINT fkPoliticsID FOREIGN KEY (Politics_ID) REFERENCES Politics
);

该语句假定远程表 (Politics) 中的匹配字段也命名为 Politics_ID。但是,如果该远程字段具有不同的名称(例如 Pol_ID),您可以像这样在远程表名称之后包含其名称:

CONSTRAINT fkPoliticsID FOREIGN KEY (Politics_ID) REFERENCES Politics (Pol_ID)