Как мне создать внешний ключ в доступе? - PullRequest
1 голос
/ 09 ноября 2011

У меня есть следующий код:

CREATE TABLE Faculty (
FacSSN text(9) primary key,
FacFirstName Text(30) null,
FacLastName Text(50) null,
FacCity text(50) null,
FacState text(2) null,
FacDept text (6) null,
FacRank text(6) null,
FacSalary currency null,
FacSupervisor text(9) null,
FacHireDate datetime null,
facZipCode text(9) null,
offerNo text(6) ,

FOREIGN KEY offerNo REFERENCES ClassOffering (OfferNo)

);

У меня есть еще одна таблица под названием ClassOffering, созданная с уже существующим «OfferNo».Мне нужно создать внешний ключ в таблице выше, которая «ссылается» на ClassOffering.Я использую Access.

Ответы [ 2 ]

1 голос
/ 09 ноября 2011

Брэндон, вы не сможете создать внешний ключ с offerNo, когда он определен как text(6)

Типы данных для forign keys должны совпадать, а таблица ClassOffering из вашего предыдущего вопроса имеет offerNo INTEGER. Измените text(6) на INTEGER, чтобы соответствовать, и внешний ключ будет работать

Вам нужно поставить круглые скобки вокруг столбца offerNo, например:

FOREIGN KEY (offerNo) REFERENCES ClassOffering (OfferNo)
0 голосов
/ 09 ноября 2011

Обратите внимание, что вы можете объявить FOREIGN KEY встроенный, т.е.

CREATE TABLE Faculty (
FacSSN text(9) primary key,
FacFirstName Text(30) null,
FacLastName Text(50) null,
FacCity text(50) null,
FacState text(2) null,
FacDept text (6) null,
FacRank text(6) null,
FacSalary currency null,
FacSupervisor text(9) null,
FacHireDate datetime null,
facZipCode text(9) null,
offerNo integer null REFERENCES ClassOffering (OfferNo)
);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...