Mysql
 sql >> Base de données >  >> RDS >> Mysql

MySql ne peut pas faire de colonne auto_increment

Cela se produira si la table contient un enregistrement existant avec un identifiant de 0 (ou négatif). La mise à jour de tous les enregistrements existants pour utiliser des valeurs positives permettra de définir auto_increment sur cette colonne.

Edit :Certaines personnes ont demandé comment ce 0 était entré. Pour plus de clarté, le MySQL Reference Manual indique que "Pour les types numériques, la valeur par défaut est 0, à l'exception que pour les types entiers ou à virgule flottante déclarés avec l'attribut AUTO_INCREMENT, la valeur par défaut est la valeur suivante dans la séquence." Ainsi, si vous avez effectué une insertion sur une table sans fournir de valeur pour la colonne numérique avant l'activation de l'auto_increment, la valeur par défaut 0 serait utilisée lors de l'insertion. Plus de détails peuvent être trouvés sur https://dev .mysql.com/doc/refman/5.0/en/data-type-defaults.html .