par
Ryle » 31 janv. 2007, 17:18
J'utilise un DATETIME car c'est plus simple à envoyer dans la base lors de la soumission d'un nouvel article avec NOW(). Je sais que celui ci sera unique.
Sauf le jour ou deux personnes enverront leur article en même temps et où tu auras deux date identiques. La fonction d'auto-incrémentation gère les accès concurents et ne retournera jamais deux fois la même valeur...
Pour la sous requête, si ta version de mysql le permet, il te suffit de faire ainsi :
Code : Tout sélectionner
SELECT id, ordre FROM table WHERE ordre = (
SELECT MAX(ordre) FROM table WHERE ...
)
Si ta version de mysql ne le gère pas, il te suffit de décomposer en deux requêtes pour récupérer la valeur max de l'ordre, puis aller chercher l'id correspondant

[quote="pierrecalligaro"]J'utilise un DATETIME car c'est plus simple à envoyer dans la base lors de la soumission d'un nouvel article avec NOW(). Je sais que celui ci sera unique.[/quote]
Sauf le jour ou deux personnes enverront leur article en même temps et où tu auras deux date identiques. La fonction d'auto-incrémentation gère les accès concurents et ne retournera jamais deux fois la même valeur...
Pour la sous requête, si ta version de mysql le permet, il te suffit de faire ainsi :
[code]SELECT id, ordre FROM table WHERE ordre = (
SELECT MAX(ordre) FROM table WHERE ...
)[/code]
Si ta version de mysql ne le gère pas, il te suffit de décomposer en deux requêtes pour récupérer la valeur max de l'ordre, puis aller chercher l'id correspondant :)