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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 22
    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
    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.
    Kie lumo eksistas ankaŭ ombro troviĝas. L.L. Zamenhof
    articles : Comment émuler un tableau croisé [quasi] dynamique
    et : Une énigme mathématique résolue avec MySQL
    recommande l'utilisation de PDO (PHP5 Data Objects)

  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 063
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Loiret (Centre)

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

    Informations forums :
    Inscription : Avril 2002
    Messages : 6 063
    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
    Rédacteur / Modérateur SGBD et R
    Mes tutoriels et la FAQ MySQL

    ----------------------------------------------------
    Pensez aux balises code et au tag
    Une réponse vous a plu ? N'hésitez pas à y mettre un
    Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça

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

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

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

    Informations forums :
    Inscription : Mars 2009
    Messages : 22
    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 : 45
    Localisation : France, Rhône (Rhône Alpes)

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

    Informations forums :
    Inscription : Avril 2008
    Messages : 3 094
    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);
    « Je ne cherche pas à connaître les réponses, je cherche à comprendre les questions. »
    - Confucius -

    Les meilleurs cours, tutoriels et Docs sur les SGBD et le SQL
    Tous les cours Office
    Solutions d'Entreprise



Discussions similaires

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

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