Mammouth du PHP |
19672 Messages
11 oct. 2011, 17:33
Si tu utilises le moteur InnoDB, tu peux effectivement ajouter les contraintes de clé étrangères. Dans ce cas, si tu mets ON DELETE RESTRICT et ON UPDATE RESTRICT, il se passera que tu ne pourras pas supprimer un tag ou un élément s'il existe une relation : il faudra d'abord modifier ou supprimer la relation avant de toucher à l'élément ou au tag, enfin ça concerne surtout la suppression. Ça évite de laisser dans ta base des données orphelines.
Si tu utilises ON DELETE CASCADE, en supprimant un tag ou un élément, ça va automatiquement supprimer la relation qui va avec au cas o`<u il y en aurait une, mais attention, c'est un truc dangereux si on est pas très attentif, et en cas d'erreur de manipulation, on peut perdre des données qui seront irrécupérables.
Mais si tu utilise MyISAM, laisse tomber, ce ne sera pas pris en compte, tu devras donc assurer l'intégrité référentielle par programmation.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse 