Maison > Article > base de données > Que dois-je faire si MySQL manque d'identifiants auto-incrémentés ?
Que dois-je faire si MySQL manque d'identifiants auto-incrémentés ?
Il existe de nombreux types d'ID d'auto-incrémentation dans MySQL. Chaque ID d'auto-incrémentation a une valeur initiale définie, puis augmente en fonction d'une certaine taille de pas tant que la longueur d'octet est définie. , alors il y aura une limite supérieure. Si la limite supérieure est atteinte et ajoutée à nouveau, une erreur de conflit de clé primaire sera signalée. Comme solution, envisagez d'utiliser le type "bigint non signé".
Test
L'ID d'auto-incrémentation défini par la table de données, si la limite supérieure est atteinte.
Lors de la demande de la prochaine pièce d'identité, la valeur obtenue restera inchangée.
Nous pouvons le vérifier à travers l'exemple suivant :
create table `test` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=4294967295; insert into `test` values (null);
Vous pouvez voir à partir de ce résultat que la valeur de l'ID est toujours 4294967295 lorsque les données sont insérées pour la première fois
Si les données sont insérées deux fois, une erreur de conflit de clé primaire sera signalée
Cela signifie qu'une fois que la valeur de l'ID atteint la limite supérieure, elle ne changera plus.
Tutoriel recommandé : "Tutoriel MySQL"
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!