使用和不使用有什么区别CONSTRAINT
在 SQL Server 上使用外键时的关键字?
我注意到在这个特定情况下显然两者的工作原理相同,没有CONSTRAINT
:
CREATE TABLE ClientsPhones
(
ClientPhone varchar(10) NOT NULL,
ClientID smallint NOT NULL,
PRIMARY KEY (ClientPhone),
FOREIGN KEY (ClientID) REFERENCES Clients(ClientID)
);
与CONSTRAINT
:
CREATE TABLE ClientsPhones
(
ClientPhone varchar(10) NOT NULL,
ClientID smallint NOT NULL,
PRIMARY KEY (ClientPhone),
CONSTRAINT fk_ClientID
FOREIGN KEY (ClientID) REFERENCES Clients(ClientID)
);
两者都不允许我向表中添加记录,除非ClientID
已经存在于Clients
表,并且相同ClientID
and ClientPhone
尚未加入ClientsPhones
table.
除了我能够命名约束这一事实之外,两者之间还有什么真正的区别吗?
如果你不创造约束。它会自动创建自己的约束名称
外键索引名称是使用引用外键列的名称自动生成的。
所以没有办法看出差异使用和不使用 Constraint 关键字。默认情况下将定义约束名称。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)