J'utilise un serveur MySQL 5.0. Mon exigence est d'ajouter une ligne spéciale à une table existante qui a une clé primaire auto-incrémentée.Puis-je utiliser zéro dans une colonne qui a l'attribut AUTO_INCREMENT
Il serait très utile pour la maintenance et la gestion futures du projet si nous pouvions faire l'id de cette ligne 0 (parce qu'il est facile de se souvenir et facile à repérer dans les observations manuelles). Maintenant, je sais que MySQL n'a aucun problème avec vous en utilisant votre propre valeur pour une colonne auto-incrémentée, et mes tests ont montré que je peux définir la clé primaire autoincrement d'une ligne à 0 avec une requête UPDATE. Cependant, certaines préoccupations ont été soulevées quant à la façon dont cela pourrait affecter la fonctionnalité d'auto-incrémentation de la colonne dans les futures INSERT.
Mes expériences (limitées) n'ont rien montré d'étrange et je ne trouve rien de spécifique contre cela dans les documents MySQL. C'est, en dehors de cette (Souligné par l'auteur): http://dev.mysql.com/doc/refman/5.0/en/create-table.html
Il ne peut y avoir qu'une seule colonne AUTO_INCREMENT, il doit être indexé, et il ne peut pas avoir une valeur par défaut. Une colonne AUTO_INCREMENT ne fonctionne correctement que si elle contient uniquement des valeurs positives. L'insertion d'un nombre négatif est considérée comme l'insertion d'un très grand nombre positif. Ceci est fait pour éviter les problèmes de précision lorsque le nombre « wrap » au-dessus de positif à négatif et aussi pour vous assurer que vous ne recevez pas accidentellement une colonne AUTO_INCREMENT qui contient 0.
Je ne peux pas trouver une explication qu'est-ce qui ne va pas avec une valeur de zéro dans une colonne AUTO_INCREMENT, donc quelqu'un peut-il me dire si avoir une colonne AUTO_INCREMENT qui contient 0 est une mauvaise chose?
Bon appel sur une réimportation. Je ne l'avais pas envisagé comme nous ne le faisons pas souvent, mais nous en tiendrons compte au cas où nous le ferions. Autant que je sache, il n'y a rien de mal avec 0 dans une colonne d'incrément automatique soit :). Mais cette note que j'ai citée suggère le contraire, alors j'espérais obtenir une réponse qui soit explique pourquoi le manuel de référence dit cela, soit pourquoi cela pourrait être faux. À quel point êtes-vous certain qu'il n'y a rien de mal avec 0 dans une colonne d'incrémentation automatique? –
Je suis assez confiant que tout ira bien. Cette fois, j'ai eu un 0 dans un champ auto-incrémenté en raison d'un bug dans mon code, il n'a eu aucun effet secondaire. – e4c5