Je dois trouver le prochain identifiant disponible (s'il y a 5 données dans la base, je dois trouver le prochain emplacement d'insertion disponible qui est 6) dans une base de données MySQL. Comment puis-je faire cela ? J'ai utilisé MAX(id)
Mais lorsque je supprime certaines lignes de la base de données, l'ancienne valeur maximale qui n'a pas été mise à jour est conservée.
Sympa, mais n'oubliez pas ! D'autres utilisateurs de la base de données peuvent insérer un enregistrement juste après que vous ayez effectué cette requête et avant que vous n'insériez réellement l'enregistrement. Cela fonctionne bien dans certains cas, mais gardez-le à l'esprit !
0 votes
Donc ce que vous demandez, c'est de trouver le premier identifiant disponible. Si vous en avez 5, mais que vous supprimez le troisième, alors l'identifiant 3 devrait être disponible pour insérer une nouvelle ligne ?
4 votes
C'est un mauvais conseil... la plupart des bases de données incrémentent simplement par une clé synthétique. Elles n'essaient pas de réutiliser les anciennes valeurs. Elles incrémentent simplement.
0 votes
Burak : voulez-vous trouver le "prochain identifiant disponible" (qui est max(id) + 1), ou le "prochain identifiant jamais utilisé" ?
0 votes
Duplicata possible de stackoverflow.com/questions/933565/
0 votes
bram.us/2008/07/30/