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

 MySQL Discussion :

champ calculé sur date


Sujet :

MySQL

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 22
    Points : 16
    Points
    16
    Par défaut champ calculé sur date
    Bonjour,
    je souhaite creer un champs calculé sur une table : date de creation + 3 mois en valeurs par défault mais je ne trouve rien .
    connaissez vous un exemple ou le code
    merçi à tous
    manu

  2. #2
    Membre expert
    Avatar de Maljuna Kris
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2005
    Messages
    2 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 613
    Points : 3 950
    Points
    3 950
    Par défaut
    Saluton,
    Voir la FAQ
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    select DATE_ADD(CURDATE() INTERVAL 3 MONTH)
    Ceci dit tu ne pourras rien faire en valeur par défaut, il faudra passer par un trigger donc Engine InnoDB.

  3. #3
    ced
    ced est déconnecté
    Rédacteur/Modérateur

    Avatar de ced
    Homme Profil pro
    Gestion de bases de données techniques
    Inscrit en
    Avril 2002
    Messages
    6 040
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestion de bases de données techniques
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2002
    Messages : 6 040
    Points : 23 795
    Points
    23 795
    Par défaut
    Citation Envoyé par Maljuna Kris Voir le message
    Ceci dit tu ne pourras rien faire en valeur par défaut, il faudra passer par un trigger donc Engine InnoDB.
    Et MySQL version 5.0 minimum

    ced

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 22
    Points : 16
    Points
    16
    Par défaut trigger
    he
    bon j'vais essayer
    merçi

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 22
    Points : 16
    Points
    16
    Par défaut trigger
    Bonjour,
    j'essaie ce code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    CREATE TRIGGER valid_date_mois AFTER INSERT ON propal FOR EACH ROW
    BEGIN
    	IF new.dateexp IS NULL THEN UPDATE propal SET dateexp = ADDDATE(CURDATE(),31);
    	END IF;
    END
    error =>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    CREATE TRIGGER valid_date_mois AFTER INSERT ON propal
    FOR EACH
    ROW 
    BEGIN 
    IF new.dateexp IS NULL 
    THEN UPDATE propal SET dateexp = ADDDATE( CURDATE( ) , 31 ) ;


    MySQL a répondu:

    #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 3




    version mysql 5.1.32
    requete faite avec phpmyadmin.
    je ne voie vraiment pas
    cordialement manu

  6. #6
    Modérateur
    Avatar de Chtulus
    Homme Profil pro
    Ingénieur
    Inscrit en
    Avril 2008
    Messages
    3 094
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2008
    Messages : 3 094
    Points : 8 678
    Points
    8 678
    Par défaut
    Bonjour,

    C'est presque ça et Maljuna Kris vous avez donné la solution :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ADDDATE(CURDATE(), INTERVAL 31 DAY);

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 22
    Points : 16
    Points
    16
    Par défaut syntaxe
    oui, je sais bien mais j'avais essayé et sur le manuel la syntaxe que j'ai employé
    existe ....voila la reponse obtenue :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    requête SQL: 
     
    CREATE TRIGGER valid_date_mois AFTER INSERT ON propal
    FOR EACH
    ROW 
    BEGIN 
    IF new.dateexp IS NULL 
    THEN UPDATE propal SET dateexp = ADDDATE( CURDATE( ) , INTERVAL 31 DAY ) ;
     
     
     
    MySQL a répondu: 
     
    #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 3

  8. #8
    Membre éclairé
    Inscrit en
    Septembre 2006
    Messages
    685
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 685
    Points : 658
    Points
    658
    Par défaut
    Juste comme ça, tu as bien changé le délimiteur avant ?

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 22
    Points : 16
    Points
    16
    Par défaut delimiteur ??
    Ben j'debute w'at delimiter please ?
    je vais regarder : je n'ai rien fait d'autre que rentrer la requete dans une fenètre de phpmyadmin .

  10. #10
    Membre expert
    Avatar de Maljuna Kris
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2005
    Messages
    2 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 613
    Points : 3 950
    Points
    3 950
    Par défaut
    Un cht'it coup d'œil dans la doc :http://dev.mysql.com/doc/refman/5.0/fr/begin-end.html
    et un petit exemple
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    mysql> delimiter //
    mysql> CREATE TRIGGER upd_check BEFORE UPDATE ON account
        -> FOR EACH ROW
        -> BEGIN
        ->     IF NEW.amount < 0 THEN
        ->         SET NEW.amount = 0;
        ->     ELSEIF NEW.amount > 100 THEN
        ->         SET NEW.amount = 100;
        ->     END IF;
        -> END//
    mysql> delimiter ;

  11. #11
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 22
    Points : 16
    Points
    16
    Par défaut delimiter
    oui, je viens de m'imprimer la page .
    dommage sur celle du syntaxe : 20.1 il ne le mettais pas.!
    merçi je teste demain ou tard ce soir.

Discussions similaires

  1. champ calculé sur dates
    Par gg2vig dans le forum Cognos
    Réponses: 1
    Dernier message: 07/06/2011, 17h10
  2. Calcul sur date dans SQL
    Par Tchupacabra dans le forum WinDev
    Réponses: 4
    Dernier message: 27/02/2006, 20h23
  3. [débutant] calcul sur date
    Par Regis.C dans le forum Collection et Stream
    Réponses: 9
    Dernier message: 04/01/2005, 11h51
  4. Resutlat de calcul sur date formaté
    Par neness dans le forum SQL
    Réponses: 6
    Dernier message: 16/06/2004, 16h34
  5. Calcul sur date
    Par Thomad dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 17/09/2003, 09h55

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