Sql server 如何创建外键,以便在删除父项时,子项中的值将更新为null
我是T-SQL新手,请帮助: 我有两张桌子Sql server 如何创建外键,以便在删除父项时,子项中的值将更新为null,sql-server,tsql,Sql Server,Tsql,我是T-SQL新手,请帮助: 我有两张桌子 User Id Name History Id Result UserId 如何创建关系,因此一旦我从用户表中删除用户,历史记录表中的UserId列将更新为NULL,然后设置一个pK关系,然后您只需使用常规的删除语法,如从表中删除pK=您可以将FK关系上的操作设置为空: ALTER TABLE dbo.History ADD CONSTRAINT FK_History_User FOREIGN KEY (
User
Id
Name
History
Id
Result
UserId
如何创建关系,因此一旦我从用户表中删除用户,历史记录表中的UserId列将更新为NULL,然后设置一个pK关系,然后您只需使用常规的删除语法,如从表中删除pK=您可以将FK关系上的操作设置为空:
ALTER TABLE dbo.History ADD CONSTRAINT
FK_History_User FOREIGN KEY
(
UserID
) REFERENCES dbo.[User]
(
ID
) ON UPDATE NO ACTION
ON DELETE SET NULL
-- Create FK relationship
IF EXISTS (SELECT * FROM sys.objects
WHERE name = N'FK_EmpEducation_Employees' AND [type] = 'F')
ALTER TABLE EmpEducation
DROP Constraint FK_EmpEducation_Employees
GO
ALTER TABLE EmpEducation
ADD CONSTRAINT [FK_EmpEducation_Employees]
FOREIGN KEY (empno)REFERENCES employees(empno)
ON DELETE SET NULL ON UPDATE SET NULL
GO
请参见此处:您可以像这样对delete set null使用
ALTER TABLE USERS
ADD CONSTRAINT Users_ThemeID_FK
FOREIGN KEY (ThemeID) REFERENCES Themes(ThemeID)
ON DELETE SET NULL
非常感谢。正是我想要的!!!!你是最棒的!我会在3分钟内接受这个答案