Bonjour tout le monde,
J'aimerais ajouter un enregistrement dans une table et y mettre une valeur par défaut dans son champ "ID".
Cette valeur défaut serait le nombre se trouvant dans l'ID précédent + 1.
Attention : ID n'est pas un auto incrément car c'est un champ qui n'est pas une clé primaire.
Voici ce que j'ai fait :
J'ajoute donc une ligne à ma table :
Je mets dans ID le dernier numéro +1 :
Le problème est qu'il incrémente l'ID de l'enregistrement déjà présent et (je pense) incrémente aussi le nouvel enregistrement en le faisant passer de 0 à 1.
avec le premier ça fonctionne, on passe de 0 à 1 et de (par exemple) 22 à 23 (ça il ne devrait pas le faire) et ensuite lorsque j'ajoute un nouvel enregistrement il affecte la valeur 1 au nouvel ID, le 1 existe déjà, j'obtiens alors un message d'erreur :
Duplicate entry (ou quelque chose dans le genre).
Un tout grand et sincère merci pour votre aide.
beegees
J'aimerais ajouter un enregistrement dans une table et y mettre une valeur par défaut dans son champ "ID".
Cette valeur défaut serait le nombre se trouvant dans l'ID précédent + 1.
Attention : ID n'est pas un auto incrément car c'est un champ qui n'est pas une clé primaire.
Voici ce que j'ai fait :
J'ajoute donc une ligne à ma table :
$sql = "INSERT INTO ".$_SESSION['LaTable']." VALUES ()";
$execution=mysql_query($sql, $link)or die($query . " - " . mysql_error());
Je mets dans ID le dernier numéro +1 :
$IncrementationID = 'UPDATE '.$_SESSION['LaTable'].' SET id = (SELECT max(ID)+1)';
$execution=mysql_query($IncrementationID, $link)or die($query . " - " . mysql_error());
Le problème est qu'il incrémente l'ID de l'enregistrement déjà présent et (je pense) incrémente aussi le nouvel enregistrement en le faisant passer de 0 à 1.
avec le premier ça fonctionne, on passe de 0 à 1 et de (par exemple) 22 à 23 (ça il ne devrait pas le faire) et ensuite lorsque j'ajoute un nouvel enregistrement il affecte la valeur 1 au nouvel ID, le 1 existe déjà, j'obtiens alors un message d'erreur :
Duplicate entry (ou quelque chose dans le genre).
Un tout grand et sincère merci pour votre aide.
beegees