我的sql递归关系更新级联

发布于 2024-10-01 15:14:02 字数 279 浏览 2 评论 0原文

create table employee(emp_id int primary key ,emp_name char(9),
spouse_id int,foreign key(spouse_id)references employee (emp_id)
on delete cascade set null on update cascade);

嗨朋友们,

当我删除数据时,它会对相关数据产生影响。 但是当我尝试更新它时,它给出错误无法更改父数据。 请帮我找到解决方案。

create table employee(emp_id int primary key ,emp_name char(9),
spouse_id int,foreign key(spouse_id)references employee (emp_id)
on delete cascade set null on update cascade);

hi friends

when i delete an data it give impact on related data.
but when i tried to update it, it give error cant change parent data.
please help me to find solution.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

狼亦尘 2024-10-08 15:14:02

删除级联,

on delete set null 

但关于编辑..它在我的示例中工作正常..

也许这可以帮助您从Mysql参考:

偏离 SQL 标准:如果 ON
更新级联或更新设置为空
递归更新同一个表
之前已更新过
级联,它的作用类似于 RESTRICT。这
意味着你不能使用
自我引用 ON UPDATE CASCADE 或
ON UPDATE SET NULL 操作。这是
以防止产生无限循环
来自级联更新。一个
自引用 ON DELETE SET NULL,
另一方面,是可能的,因为
删除级联时的自引用。
级联操作不能嵌套
深度超过 15 层。

remove cascade

on delete set null 

but regarding edit.. it works fine in my example..

Maybe this can help you from Mysql reference:

Deviation from SQL standards: If ON
UPDATE CASCADE or ON UPDATE SET NULL
recurses to update the same table it
has previously updated during the
cascade, it acts like RESTRICT. This
means that you cannot use
self-referential ON UPDATE CASCADE or
ON UPDATE SET NULL operations. This is
to prevent infinite loops resulting
from cascaded updates. A
self-referential ON DELETE SET NULL,
on the other hand, is possible, as is
a self-referential ON DELETE CASCADE.
Cascading operations may not be nested
more than 15 levels deep.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文