Solution:
Si vous pouvez refaire le vidage, vous pouvez ajouter --insert-ignore
à la ligne de commande lors du vidage.
Ou vous pouvez essayer d’utiliser le mysqlimport commande avec --force
, qui continuera même s’il rencontre des erreurs MySQL.
mysql -f -p < 2010-12-01.sql
les -f
(forcer) étant l’option opératoire ici, a fonctionné pour moi.
En suivant les conseils de la réponse et du commentaire de jmlsteele, voici comment transformer les inserts en INSERT IGNORE
à la volée.
Si vous importez à partir d’un sql
déposer:
sed -e "s/^INSERT INTO/INSERT IGNORE INTO/" < 2010-12-01.sql | mysql -p
Si vous importez à partir d’un gz
file, dirigez simplement la sortie de gunzip dans sed au lieu d’utiliser l’entrée du fichier :
gunzip < 2010-12-01.sql.gz | sed -e "s/^INSERT INTO/INSERT IGNORE INTO/" | mysql -p