Ignorer les insertions violant les contraintes d'intégrité
Hello tout le monde.
Je travaille actuellement sur un transfert de base de donnée et on en profite pour modifier quelques tables et réécrire un déploiement. Le déploiement a été généré sans problème mais contient un peu plus de 30000 insertions, dont moins d'une cinquantaine (seulement) présentant des problèmes d'intégrités : la clé étrangère B ne correspond pas à une clé primaire A inexistante dans la table associée. Cela n'est pas une erreur de conception mais bien les données qui ont été "mal insérées" dès le départ et la table n'envoie elle-même aucune clé ailleurs.
J'aimerais donc faire en sorte que ces lignes là soient tout bonnement ignorées, que les insertions foireuses ne soient pas effectuées et n'avoir au moins que des simples warnings, car je me vois pas épelucher les 30000 insertions pour chercher laquelle foire, surtout que MySQL m'indique pas laquelle est foireuse...
INSERT IGNORE ne permet pas d'ignorer la ligne foireuse. J'ai pensé utiliser un trigger mais je vois pas comment empêcher l'insertion à partir de ce trigger. Levée d'une exception peut-être ?
Auriez-vous une solution à ce problème à suggérer ?
Merci pour vos éclairages. ;)