J'utilise mysql (5.0.32-Debian_7etch6-log) et j'ai une charge en vrac tous les soirs de course php (5.2.6) écriture (en utilisant Zend_Db (1.5.1) via AOP) qui effectue les opérations suivantes:mysql en double erreur d'entrée quand il n'y a pas d'entrée en double (charge en vrac via php)
- tronquant un ensemble de tableaux 4 'importation'
- vrac insertion de données dans ces 4 tables 'd'importation' (réutiliser les identifiants qui ont déjà été dans les tables, mais j'ai tronqué la table entière, ce qui ne devrait pas être un problème, ?)
- Si tout se passe bien, renommez les tables 'live' en 'temp', les tables 'import' en 'live' puis les tables 'temp' (old 'live') 'import'
Cela a fonctionné très bien pendant des semaines. Maintenant, je reçois ce occassionally, quelque part au milieu de l'ensemble du processus de chargement en vrac:
SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '911' for key 1
Rappelez-vous que, ce n'est pas le premier identifiant qui a été dans la table avant la troncature déjà. Quand je recommence le script manuellement, ça fonctionne comme un charme.
Des idées? restes index, quelque chose à voir avec le changement de nom peut-être?
En outre, lorsque je vérifie la table pour une entrée avec l'ID 911 par la suite, il n'est même pas là.