gpt4 book ai didi

SQL Server ON DELETE SET NULL 错误

转载 作者:行者123 更新时间:2023-12-03 00:31:57 25 4
gpt4 key购买 nike

在我的数据库中,我有一个地址表,该表用作与其他表(例如客户、员工等)的外键中的主表

这个SQLFiddle显示地址客户之间的关系,其中客户有2个地址。

目前,FK 设置为ON DELETE NO ACTION,我开始将它们更改为ON DELETE SET NULL

这对于大多数只有一个地址列的表来说效果很好。在只有一个地址列的一个特定表和有多个地址列的所有表上,我收到错误:

Msg 1785, Level 16, State 1, Line 1
Introducing FOREIGN KEY constraint 'FK_customers_shipping_address' on table 'customers' may cause cycles or multiple cascade paths. Specify ON DELETE NO ACTION or ON UPDATE NO ACTION, or modify other FOREIGN KEY constraints.

Msg 1750, Level 16, State 1, Line 1
Could not create constraint. See previous errors.

如果我没有使用 CASCADE 为什么会收到此错误?有没有办法解决这个问题?

最佳答案

对于此规则,

SET NULLCASCADE 的行为方式相同。你不能有“多个级联路径”。消息有点不清楚。

这是 SQL Server 引擎的限制。你对此无能为力。自己实现级联逻辑。

关于SQL Server ON DELETE SET NULL 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29122664/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com