J'ai besoin d'exporter une grande base de données sans clés étrangères. Quelle est la commande pour faire cela?
C'est ce que j'ai essayé mais je sais que c'est incorrect. p>
3 Réponses :
à partir de ce thread: p>
La commande mysqldump incluse avec MySQL 5.0.51 (et selon les versions du journal des modifications depuis 4.1.1) désactive les chèques de clé étrangère. Par défaut, MySqldump comprend la ligne suivante en haut du fichier de vidage: P>
Le / *! 40014 ... * / Syntaxe est un commentaire conditionnel qui sera exécuté sur MySQL 4.0.14 et plus tard. L'ancien réglage des chèques de clé étrangère est restauré à la fin du fichier de vidage: P>
/ *! 40014 set @old_forign_key_checks = @@ étrangers_key_checks, étrangers_key_checks = 0 * /; Code> P>
/ *! 40014 set étrangers_key_checks = @ OLD_FORIGN_KEY_CHECKS * /; CODE> P>
Mais est-ce la réponse à la question? Cela exporte toutes les clés étrangères, veille simplement à ne pas être appliquée pendant l'importation.
Cela ne ressemble pas à une réponse à moi. La question était de disposer d'une décharge sans contraintes FK et de ne pas le désactiver temporairement. Le fichier de vidage contiendrait toujours des contraintes FK.
Vous pouvez utiliser le drapeau - init-commande code> sur une base de session:
C'est la solution la plus simple et la plus propre. Cela fonctionne également pour la tuyauterie mysqldump code> dans
mysql code>.
C'est laid, mais j'ai fini simplement à modifier le fichier de schéma pour supprimer les touches étrangères.
testé avec MySqldump Ver 10.13 Distribuez 5.6.32-78.1, pour Linux (x86_64). P> P> SED CODE> trouve des lignes qui précèdent les déclarations de contrainte de clé étrangère et remplace ces lignes avec elles-mêmes, moins la virgule de fuite.
grep code> exclut les contraintes de clé étrangère. P>
Données de députage uniquement, aucune création de table h3>
schéma de charge d'abord, puis les données < / h3>
Dupliqué possible de Pouvez-vous automatiquement Créer un fichier mysqLDump qui n'applique pas les contraintes de clé étrangère?
C'est une question très différente, sans inclure les clés étant différentes de désactiver les chèques sur les touches.