一个字段如果同时是两张表的关键字,那这两张表应该不能使用外键关联了吧?

解决方案 »

  1.   

    可以使用外键关联。
    create table ta(id int primary key,c int)
    create table tb(id int primary key foreign key references ta(id),cc int)
    --违反外键:
    insert tb values(1,200)
    /*
    消息 547,级别 16,状态 0,第 1 行
    INSERT 语句与 FOREIGN KEY 约束"FK__tb__id__3D14070F"冲突。该冲突发生于数据库"testdb",表"dbo.ta", column 'id'。
    语句已终止。
    */
    --符合外键:
    insert ta values(1,20)
    insert tb values(1,200)
    /*
    (1 行受影响)(1 行受影响)
    */
    drop table ta,tb