是否可以创建一个外键,其中第一列的类型为bit,但引用列的类型为int?
答案 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
子句必须 具有与列数相同的参考列数 约束列列表。每个参考列的数据类型 也必须与列列表中的相应列相同。