je le tableau suivant « commentaires » dans mon application:MySQL - conditionnel étrangères Contraintes clés
comments
--------
id INT
foreign_id INT
model TEXT
comment_text TEXT
...
l'idée de ce tableau est de stocker des commentaires pour les différentes parties de mon application - il peut stocker des commentaires pour blog à savoir:
1|34|blogpost|lorem ipsum...
image utilisateur:
2|12|picture|lorem ipsum...
et ainsi de suite.
maintenant, existe-t-il un moyen de forcer la contrainte FOREIGN KEY sur ces données?
dire quelque chose comme ça dans le tableau des commentaires:
FOREIGN KEY (`foreign_id`) REFERENCES blogposts (`id`)
//but only when model='blogpost'
Je suppose que UserPictures contient un champ user_id qui fait référence à la table User. Comment gérez-vous la suppression d'un utilisateur de sorte que la suppression soit répercutée dans la table commentable? J'ai posé cette question ici - http://stackoverflow.com/questions/11497149/how-to-enforce-referential-integrity-on-single-table-inheritance - et serais reconnaissant si vous pouviez expliquer comment vous gérez cette hoquet je suis coincé. –
@MattMcCormick, je ne réponds plus aux questions sur SO, parce que les modérateurs désagréables ont rendu ingrat la participation. –
Oh ok. Merci pour votre participation passée. J'ai lu quelques unes de vos réponses concernant l'héritage d'une table et les associations polymorphes et j'ai aussi regardé les diapositives de votre conversation que vous avez référencées dans l'une d'entre elles. Cela m'a aidé à mieux identifier les situations avec la base de données qui pourraient causer des problèmes plus tard. J'ai ajouté votre livre à ma liste de lecture et je vais probablement le prendre pour mon prochain livre de logiciels à lire. –