Bonjour,
je souhaite possèder un type de clé de cette sorte 2006000001 dans une table.
Afin d'insérer un nouvel enregistrement, je récupère la dernière valeur et je l'incrémente via un parsing PHP.
Je souhaite me préserver d'une éventuelle erreur de clé dupliquée pouvant subvenir si un utilisateur a l'idée d'insérer un nouvel enregistrement au moment de la récupération de la dernière clé.
A moins qu'il existe une fonction d'accès exclusif temporaire en PHP (autre que les fonctions sem), je souhaite donc utiliser la clause ON DUPLICATE KEY UPDATE, qui me paraît être une alternative satisfaisante, car gérée directement via la base de données..
Si quelqu'un voit comment implémenter les ????... cela pourrait fortement m'être utile.
Merci à vous
je souhaite possèder un type de clé de cette sorte 2006000001 dans une table.
Afin d'insérer un nouvel enregistrement, je récupère la dernière valeur et je l'incrémente via un parsing PHP.
Je souhaite me préserver d'une éventuelle erreur de clé dupliquée pouvant subvenir si un utilisateur a l'idée d'insérer un nouvel enregistrement au moment de la récupération de la dernière clé.
A moins qu'il existe une fonction d'accès exclusif temporaire en PHP (autre que les fonctions sem), je souhaite donc utiliser la clause ON DUPLICATE KEY UPDATE, qui me paraît être une alternative satisfaisante, car gérée directement via la base de données..
Code:
$derniere_cle = $db->exec("SELECT cle FROM matable ORDER BY cle DESC LIMIT 1");
$cle = incemente($derniere_cle);
$db->exec("INSERT INTO matable ('cle','champs1','champs2') VALUES('$cle','toto','tata') ON DUPLICATE KEY UPDATE cle = ????? ");
Merci à vous