2010-11-12 43 views
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); 

喜的朋友我的SQL递归关系级联更新

当我删除的数据也给出相关的数据的影响。 但当我试图更新它,它给错误不能更改父数据。 请帮我找到解决办法。

回答

1

删除级联

on delete set null 

但对于编辑..它在我的例子很好..

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

SQL标准的背离:如果打开 UPDATE CASCADE或ON UPDATE SET NULL 递归更新同一个表 以前在期间更新过级联,它表现得像限制。这个 意味着你不能使用 自引用ON UPDATE CASCADE或者 ON UPDATE SET NULL操作。这是 以防止由级联更新导致的无限循环 。 A 自引用ON DELETE SET NULL,另一方面, 是可能的,因为 是自引用ON DELETE CASCADE。 层叠操作可能不能嵌套 超过15层深度。