我有一个代表用户的表格。当用户被删除时,我得到:
DELETE 语句与 REFERENCE 约束冲突
显然,CASCADE DELETE
在 SQL Server 中并没有我想象的那么容易,需要将选项添加到表中。
问题是:我不知道如何添加该CASCADE DELETE
选项。
我正在使用:SQL Server 2008。任何想法如何做到这一点?
我有一个代表用户的表格。当用户被删除时,我得到:
DELETE 语句与 REFERENCE 约束冲突
显然,CASCADE DELETE
在 SQL Server 中并没有我想象的那么容易,需要将选项添加到表中。
问题是:我不知道如何添加该CASCADE DELETE
选项。
我正在使用:SQL Server 2008。任何想法如何做到这一点?
首先阅读这篇 Microsoft 文章。读我。我在设计过程中使用 GUI,所以这里是在 SSMS 中如何选择它的图片。 添加到外键的语法是“ON DELETE CASCADE”
谷歌ALTER TABLE DROP CONSTRAINT
,然后ALTER TABLE ADD CONSTRAINT
:
这是一个简单的例子:
CREATE TABLE A
(
ID INTEGER NOT NULL UNIQUE
);
CREATE TABLE B
(
ID INTEGER NOT NULL UNIQUE
CONSTRAINT fk__B__A
REFERENCES A (ID)
);
-- Oops! Forgot the CASCADE referential actions.
-- DROP the constraint then recreate it:
ALTER TABLE B DROP
CONSTRAINT fk__B__A;
ALTER TABLE B ADD
CONSTRAINT fk__B__A
FOREIGN KEY (ID)
REFERENCES A (ID)
ON DELETE CASCADE
ON UPDATE CASCADE;