Parmi les erreurs courantes en MySQL, ont trouve la fameuse ERROR
1062 (23000): Duplicate entry ’2984′ for key ‘PRIMARY’ causée par
la tentative d’insertion d’une données, déjà présente, dans un
colonne ayant une contrainte d’unicité.
Dans la même famille il y a aussi l’erreur 1022…
Une banale requête de lecture avec un GROUP BY:
mysql> SELECT DISTINCT(name), COUNT(name) FROM membre WHERE
name <> » GROUP BY name ERROR 1022 (23000):
Can’t write; duplicate key in table ‘/tmp/#sql_29lm_0′
C’est assez surprenant de trouver une telle erreur sur une
requête aussi triviale !
En regardant le plan d’exécution, on remarque que outre le fait
qu’ un index est plus que recommandé, MySQL créé une table
temporaire (/tmp/#sql_29lm_0) et c’est en insérant les données
dans cette dernière que le « duplicate key » se …
[Lire plus]