2009-07-09 17 views

Répondre

0

Il ne peut pas être réparé. Et si vous spécifiez une cascade à une table comme NULL, une autre est DELETE. Comment cela peut-il être résolu?

J'ai rencontré la même erreur, mais j'ai décidé d'utiliser les déclencheurs surtout pour contrôler les suppressions.

+1

La sémantique que je veux est très simple: j'ai une référence auto N: M dans un tableau séparé. Cette table a deux FK à la table d'origine et si je supprime une des entrées dans la table "principale", je n'ai plus besoin des connexions aux autres éléments. Même dans le cas mixte de NULL et DELETE, une implémentation directe serait possible. Postgres 8.1 par exemple n'a absolument aucun problème avec ce cas d'utilisation et fonctionne TOTALEMENT comme prévu. –

+0

Que fait Postgres? – gbn

+0

Étant donné une table de connexion (X, Y) où X spécifie ON DELETE CASCADE et Y spécifie ON DELETE SET NULL et contient les tuples (3,2) et (2,3). Après avoir supprimé le tuple avec id = 3 dans la table référencée, la table de connexion contient (2, NULL). Quoi d'autre devrait-il faire ?! –

Questions connexes