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

amis hima mise à jour sql relation récursive cascade

quand je supprimer une donnée, il donne l'impact sur les données connexes. mais quand j'ai essayé de le mettre à jour, il donne erreur ne peut pas changer les données parentes. s'il vous plaît aidez-moi à trouver une solution.

Répondre

1

supprimer cascade

on delete set null 

mais en ce qui concerne modifier .. il fonctionne très bien dans mon exemple ..

Peut-être que cela peut vous aider de la référence Mysql:

Déviation par rapport aux normes SQL: Si ON UPDATE CASCADE ou ON UPDATE SET NULL récursive pour mettre à jour le même tableau a déjà été mis à jour pendant le en cascade, il agit comme RESTRICT. Ce signifie que vous ne pouvez pas utiliser ON-UP CASCADE auto-référentiel ou ON UPDATE SET NULL opérations. Ceci est pour empêcher les boucles infinies résultant de mises à jour en cascade. D'autre part, il est possible d'utiliser un autoréglément ON DELETE SET NULL, , tout comme un auto-référentiel ON DELETE CASCADE. Les opérations en cascade ne peuvent pas être imbriquées plus de 15 niveaux de profondeur.

Questions connexes