J'ai une colonne de clé primaire dans ma table pour auto-incrémenter. Cependant, lorsque je supprime une ligne de la table qui a l'ID de clé primaire le plus élevé (disons 11). Ensuite, la prochaine fois que je fais une insertion, elle insère la clé comme 12 et non 11 (bien que logiquement, elle peut utiliser 11 car il n'y a pas d'entrée associée à la touche 11). Comment puis-je y arriver?autoincrement dans MySQL
Répondre
Êtes-vous vraiment sûr de vouloir cela? Une colonne auto-incrémentée garantira un nombre unique, et c'est suffisant. Vous pouvez mettre à jour la prochaine valeur auto-incrémentée (je vais devoir chercher comment cela fonctionne), mais je ne pense pas que vous devriez le vouloir.
Si vous devez contrôler les nombres dans une colonne, vous devez le faire manuellement.
néanmoins, vous pouvez modifier le numéro de autoincrement comme ceci:
ALTER TABLE tbl AUTO_INCREMENT = 100;
(à partir de: http://dev.mysql.com/doc/refman/5.0/en/example-auto-increment.html)
Une autre remarque: Si vous avez des numéros un à dix, et que vous supprimez 5, vous ne pouvez pas facilement fais ceci. Vous pouvez difficilement faire le prochain auto_increment 5 parce que 6 est déjà là. Donc, encore une fois, alors que peut faire quelque chose de sale pour votre exemple, il est vraiment difficile de le faire dans un environnement réel. Peut-être commencer une nouvelle question avec la description de votre situation, et demander des conseils sur la façon d'aborder ce problème sans les astuces auto_increment :)
Mysql n'a pas cette fonctionnalité hors de la boîte, vous aurez besoin de le coder dans ton application. Un problème que vous aurez est que si 2 transactions veulent obtenir et ID, l'un d'eux obtiendra une erreur d'identification en double. De couse, c'est mieux à éviter.
Tous les moteurs de base de données ne disposent pas de cette "fonctionnalité", car ce n'est pas bon pour la simultanéité.
- 1. mysql export perd AutoIncrement
- 2. MySQL autoincrement par jour?
- 3. MySQL Set AutoIncrement "Ad Hoc"
- 4. Table ALTER - ajouter AUTOINCREMENT dans MySQL
- 5. Autoincrement manuellement une colonne MySQL
- 6. MySql Composite PK avec autoincrement
- 7. autoincrement dans Hibernate
- 8. mysql: l'insertion de données et autoincrement
- 9. MySQL autoincrement sur la mise à jour
- 10. mysql autoincrement quel est le bon type?
- 11. Autoincrement Id et problème clé (MySQL)
- 12. Restriction de l'autorisation AutoIncrement utilisateur MySQL
- 13. MySQL InnoDB, Autoincrement une colonne secondaire?
- 14. MySQL, C++ - Programmatically, Comment MySQL Autoincrement fonctionne-t-il?
- 15. Autoincrement dans ASP.NET MVC3
- 16. Autoincrement dans Redis
- 17. Autoincrement uniqueidentifier
- 18. Erreur dans près de 'Autoincrement'
- 19. problème avec Autoincrement dans SQL
- 20. La colonne MySQL autoincrement saute de 10- pourquoi?
- 21. Rails Rake MySql Autoincrement Problème w db: fixtures: load
- 22. autoincrement et l'identité de SQL
- 23. Autoincrement clé primaire
- 24. AUTOINCREMENT ne fonctionne pas
- 25. erreur de syntaxe Autoincrement
- 26. Colonnes Autoincrement multiples SQLite?
- 27. Firebird autoIncrement question
- 28. MSBuild version autoincrement - TFS2010
- 29. Hibernate/JPA SQLServer Autoincrement de clé primaire
- 30. Comment spécifier une colonne autoIncrement dans SORM?
Oui. Vous ne devez plus utiliser d'identifiant supprimé. –
ok alors si c'est la meilleure pratique – aherlambang