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);

嗨朋友

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

4

1 回答 1

1

移除级联

on delete set null 

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

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

偏离 SQL 标准:如果 ON UPDATE CASCADE 或 ON UPDATE SET NULL 递归更新它先前在级联期间更新的同一个表,它的行为类似于 RESTRICT。这意味着您不能使用自引用 ON UPDATE CASCADE 或 ON UPDATE SET NULL 操作。这是为了防止级联更新导致的无限循环。另一方面,自引用 ON DELETE SET NULL 是可能的,自引用 ON DELETE CASCADE 也是如此。级联操作的嵌套深度不得超过 15 层。

于 2010-11-12T17:16:11.587 回答