My SQL - Duplicate entry '127' for key 1

Septembre 2016


Vous tentez de faire une insertion dans une table de votre base de données MySQL et vous obtenez l'erreur MySQL suivante:
Duplicate entry '127' for key 1

Ceci provient très probablement du fait que la clé primaire de votre table est de type TINYINT
Or la taille allouée à un TINYINT n'est pas plus grande qu'un octet, et ce, quelque soit le nombre que vous mettez entre parenthèses pour le type TINYINT. Donc les nombres supportés par les entiers de type TINYINT ne peuvent pas dépasser 127 ou 255, selon que ce TINYINT soit signé ou non-signé.
L'auto incrémentation de MySQL ne pouvant pas aller au delà de 127 (ou 255) pour ces petits entiers, votre base répond donc avec cette erreur.

Si vous devez choisir un type numérique pour une clé primaire, choisissez de préférence le type INT qui est capable d'accueillir des entiers dont la capacité maximale est de l'ordre de 2 à 4 milliards.

Suppléments et sources


A voir également :

Ce document intitulé «  My SQL - Duplicate entry '127' for key 1  » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.