IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage SQL Discussion :

Addition de champs de type time


Sujet :

Langage SQL

  1. #1
    Candidat au Club
    Inscrit en
    Mars 2005
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 7
    Points : 4
    Points
    4
    Par défaut Addition de champs de type time
    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.

  2. #2
    Membre expert
    Avatar de trotters213
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 571
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 571
    Points : 3 145
    Points
    3 145
    Par défaut

    oui tu peux en utilisant INTERVAL

  3. #3
    Candidat au Club
    Inscrit en
    Mars 2005
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 7
    Points : 4
    Points
    4
    Par défaut
    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 ...)

  4. #4
    Membre expert
    Avatar de trotters213
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 571
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 571
    Points : 3 145
    Points
    3 145
    Par défaut
    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.

  5. #5
    Candidat au Club
    Inscrit en
    Mars 2005
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 7
    Points : 4
    Points
    4
    Par défaut
    Eh bien en fait j'utilise le mysql qui est avec la dernière version de easyphp -> mysql 4.1.9

  6. #6
    Membre expert
    Avatar de trotters213
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 571
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 571
    Points : 3 145
    Points
    3 145
    Par défaut
    et fait voir ta requête et le message d'erreur qui va avec pour voir où tu te trompe stp.

  7. #7
    Candidat au Club
    Inscrit en
    Mars 2005
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 7
    Points : 4
    Points
    4
    Par défaut
    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

  8. #8
    Candidat au Club
    Inscrit en
    Mars 2005
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 7
    Points : 4
    Points
    4
    Par défaut
    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?

  9. #9
    Candidat au Club
    Inscrit en
    Mars 2005
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 7
    Points : 4
    Points
    4
    Par défaut
    Bon ben apparemment, le addtime fonctionne avec 2 champs de type TIME bien que ce ne soit pas mentionné dans la doc

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. champ de type time
    Par dv-2008 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 04/06/2008, 18h06
  2. [DATE] Ajout de minutes à un champ de type TIME
    Par Snyfer dans le forum PostgreSQL
    Réponses: 4
    Dernier message: 26/03/2007, 15h46
  3. Réponses: 2
    Dernier message: 13/03/2007, 16h57
  4. [MySQL] addition de résultats de type "time"
    Par oceane751 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 22/02/2007, 18h07
  5. champs de type time
    Par adamess dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 07/02/2007, 14h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo