salut à tous,
Encore merci à tous ceux qui m’aide
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()
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()