Salut, je voudrais savoir si il est possible d'exécuter une requête qui ajoute une heure à un champ de type time. Par exemple, le champ quota de type time vaut 01:25:32 et je voudrais avec une requête update ajouter une heure par exemple.
Salut, je voudrais savoir si il est possible d'exécuter une requête qui ajoute une heure à un champ de type time. Par exemple, le champ quota de type time vaut 01:25:32 et je voudrais avec une requête update ajouter une heure par exemple.
Ok, ça parait faisable. Mais est-il possible de faire le tout dans la même requête? c'est-a-dire faire un update qui extrait le quota depuis la base et lui ajoute le quota que je veux? (je m'emmêle les pinceaux avec les sous requêtes d'après les erreurs que me retourne mysql ...)
mais tu possèdes quelle version de MySQL parce qu'en dessous de la 4.1 les sous-requêtes ne sont pas gérées.
Eh bien en fait j'utilise le mysql qui est avec la dernière version de easyphp -> mysql 4.1.9
et fait voir ta requête et le message d'erreur qui va avec pour voir où tu te trompe stp.
J'avais une erreur de parenthèse et d'apostrophe bizarre apparemment que j'ai résolu, mais maintenant il semble que la réponse à ma question soit non:
UPDATE users SET quota = ( (
SELECT quota
FROM `users`
WHERE login = 'GianT'
) + INTERVAL '02:00:00'
HOUR_SECOND )
WHERE login = 'GianT'
MySQL a répondu:
#1093 - You can't specify target table 'users' for update in FROM clause
Trotters, je rencontre un problème avec interval. Voici ma requête:
UPDATE `users` SET quota = ( TIME( '10:00:00' ) + INTERVAL '02:00:00' HOUR_SECOND ) WHERE login = "GianT"
Elle est exécutée sans me donner d'erreur, sauf qu'après je me retrouve avec le champ NULL dans quota...
G regardé dans la doc, et il semblerait qu'il n'y ait pas de fonction qui ajoute seulement les heures... J'ai bien vu la fonction addtime, mais le premier argument doit être de type date ou datetime et pas de type time. Comment puis-je faire?
Bon ben apparemment, le addtime fonctionne avec 2 champs de type TIME bien que ce ne soit pas mentionné dans la doc
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager