Le mysqldump
commande incluse avec MySQL depuis la version 4.1.1
produit par défaut un script qui désactive les vérifications de clé étrangère. La ligne suivante est incluse en haut du fichier de vidage :
/*!40014 SET @[email protected]@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
Le /*!40014 ... */
la syntaxe est un commentaire conditionnel
qui sera exécuté sur MySQL version 4.0.14 et ultérieure. L'ancien paramètre de vérification des clés étrangères est restauré vers la fin du fichier de vidage :
/*!40014 SET [email protected]_FOREIGN_KEY_CHECKS */;
Notez que les commentaires conditionnels sont interprétés par le client (plutôt que le serveur). Si vous chargez le fichier de vidage avec un client qui ne les prend pas en charge, les vérifications de clé étrangère ne seront pas désactivées et vous risquez de rencontrer des erreurs. Pour de meilleurs résultats, je suggérerais de charger les fichiers de vidage à l'aide du client de ligne de commande mysql officiel :
mysql -hserver -uuser -p database < dumpfile.sql
Il convient également de noter que si mysqldump
est exécuté avec le --compact
option, les commandes pour désactiver et réactiver les vérifications de clé étrangère sont omises du fichier de vidage.