【问题标题】:Error in foreign key definition外键定义错误
【发布时间】:2012-03-13 01:46:02
【问题描述】:

当我在 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
)

【问题讨论】:

    标签: sql-server database foreign-keys


    【解决方案1】:

    需要先创建表البيان,其标识列需要为主键:

    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
    

    【讨论】:

    • Bear with me on the flipped ) 在第一个 create table 语句中,因为这个网络表单似乎没有按我期望的方式处理字符。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-12-07
    • 2012-11-17
    • 2015-12-11
    • 2015-03-16
    相关资源
    最近更新 更多