Bonjour,
J'ai une table "table_chrono" qui ne contient qu'une seule colonne "chrono" et qu'un seul enregistrement de type entier, qui est incrémenté par une requête UPDATE dans mon code PHP.
J'ai donc quelque chose de ce type dans mon code :
$q = mysql_query("UPDATE table_chrono SET chrono=chrono+1");
J'aimerais récupérer la valeur de "chrono+1" après mon UPDATE. J'ai imaginé plusieurs solutions, mais aucune ne me convient :
- Faire un SELECT juste après mon UPDATE, mais dans ce cas si un autre UPDATE a été effectué entre temps, je ne récupèrerai pas la bonne valeur ;
- Faire un LOCK sur la table "table_chrono" avant le UPDATE, puis faire un SELECT et faire un UNLOCK ensuite, mais je n'ai pas les droits pour faire un LOCK ;
- Modifier mon champ "chrono" en auto_incrément et faire des INSERT plutôt que des UPDATE pour récupérer la valeur avec "mysql_insert_id()", mais je me retrouverai avec des tonnes d'enregistrements qui ne servent pas et il faudra mettre en place un système de purge.
Bref, existe-t-il un moyen auquel je n'ai pas pensé ? Est-il possible de récupérer la valeur modifiée sans faire un deuxième requête ?
Merci !
Partager