我的sql递归关系更新级联

时间:2010-11-12 16:36:57

标签: mysql recursive-query

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

朋友们

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

1 个答案:

答案 0 :(得分:1)

删除级联

on delete set null 

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

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

  

偏离SQL标准:如果开启   UPDATE CASCADE或ON UPDATE SET NULL   recurses更新同一个表吧   之前已更新过   级联,它就像RESTRICT一样。这个   意味着你不能使用   自我参照ON UPDATE CASCADE或   ON UPDATE SET NULL操作。这是   防止产生无限循环   来自级联更新。一个   自引用ON DELETE SET NULL,   另一方面,是可能的   一个自引用的ON DELETE CASCADE。   级联操作可能不会嵌套   超过15级。