从bit到int的外键

时间:2011-09-23 11:45:49

标签: sql-server-2008

是否可以创建一个外键,其中第一列的类型为bit,但引用列的类型为int?

1 个答案:

答案 0 :(得分:5)

没有

create table X
(
  c int primary key
)

create table Y
(
  c bit references X
)

返回:

  

Msg 1778, Level 16, State 0, Line 1
  Column 'X.c' is not the same data type as referencing column 'Y.c' in foreign key 'FK__Y__c__34C8D9D1'.   Msg 1750, Level 16, State 0, Line 1
  Could not create constraint. See previous errors.

另见the relevant section in BOL

  
      
  • 列级REFERENCES约束的FOREIGN KEY子句可以   仅列出一个参考列。此列必须具有相同的数据   键入作为定义约束的列。

  •   
  • 表级REFERENCES约束的FOREIGN KEY子句必须   具有与列数相同的参考列数   约束列列表。每个参考列的数据类型   也必须与列列表中的相应列相同。

  •