Il commence à 1 et non 0 - en php

salut à tous,

Encore merci à tous ceux qui m’aide :slight_smile:

j’ai crée ma db en php avec un id “auto-increment”…

j’ai trouvé la fonction pour me dire quel est mon prochain “id” dans ma db (mysql_insert_id():wink:

Ma db refuse de commencer à 0 mais toujours à 1 et lorsque j’inclus un nouvel enregistrement, c’est “1,2,3,…” et non commencé par 0 et donc, ma commande qui me dit quel est l’enregistrement suivant est toujours 0 !

Que faire ?? Merci d’avance

en champ en auto-increment commence toujours à 1 et ne revient jamais en arrière …

mysql_insert_id() permet de connaître l’identifiant du dernier enregistrement insérer (et non du prochain) …

tu peux “deviner” avec un certain pourcentage de risque l’identifiant du prochain enregistrement dans ta table en faisant un

mais cela peut te causer des problèmes en cas d’insertion multiple …

si tu as besoin de l’ID pour faire un lien dans une autre table B par exemple, tu dois TOUJOURS effectuer la requète d’insertion dans la table A, récupérer l’ID, puis le rajouter dans ta requète qui insert dans B :oui:

Tu as un équivalent (à corriger, parce que j’ai pas la syntaxe exacte en tête)

SQL
LOCK TABLE machin FROM WRITING; SET id = ([color=blue;font-weight:bold]SELECT[/color] MAX(colonne) + 1 FROM table) [color=blue;font-weight:bold]INSERT[/color] INTO TABLE machin (id, ...) VALUES(@id)

UNLOCK TABLE machin;

affiche nous juste un bout du code ou tu utilises mysql_insert_id()