Ошибка в определении внешнего ключа - PullRequest
0 голосов
/ 12 марта 2012

Когда я запускаю этот код в SQL Server 2005, я получаю эту ошибку:

Сообщение 1769, Уровень 16, Состояние 1, Строка 1
Внешний ключ 'FK_Ezn_Qaid_ البيان' ссылается на недопустимый столбец 'اسم_البيان'в ссылочной таблице' Ezn_Qaid '.
Сообщение 1750, Уровень 16, Состояние 0, Строка 1
Не удалось создать ограничение.См. Предыдущие ошибки.

Таблица Ezn_Qaid:

create table Ezn_Qaid
(
Qaid_no int NOT NULL ,
Qaid_date nvarchar(10) NOT NULL ,
Maden int NOT NULL ,
Dayn int NOT NULL ,
Qaid_Type nvarchar(15)NOT NULL ,
CONSTRAINT FK_Ezn_Qaid_البيان FOREIGN KEY (اسم_البيان)
REFERENCES البيان(اسم_البيان)  
)

И таблица البيان:

create table البيان
(
رقم_البيان int  NOT NULL identity,
اسم_البيان nvarchar(100) NOT NULL
)

1 Ответ

1 голос
/ 12 марта 2012

Сначала необходимо создать таблицу البيان, а ее столбец идентификаторов должен быть первичным ключом:

create table البيان(رقم_البيان int  NOT NULL identity PRIMARY KEY 
, اسم_البيان nvarchar(100) NOT NULL); 
GO 

create table Ezn_Qaid ( Qaid_no int NOT NULL , Qaid_date nvarchar(10) NOT NULL 
, Maden int NOT NULL 
, Dayn int NOT NULL
, Qaid_Type nvarchar(15)NOT NULL
, [FK_Ezn_Qaid] int FOREIGN KEY ([FK_Ezn_Qaid]) REFERENCES البيان (رقم_البيان)
)
go
...