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

Administration MySQL Discussion :

Récupération date système pour une colonne [MySQL-8.0]


Sujet :

Administration MySQL

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    727
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 727
    Points : 261
    Points
    261
    Par défaut Récupération date système pour une colonne
    Bonjour,

    J'ai une colonne type DATETIME que je veux mettre à DEFAULT avec la date système

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DATE_RECEPTION DATETIME DEFAULT "SYSDATE" NOT NULL
    J'arrive à adapter la fonction CURRENT_DATE() pour ce besoin ....?

    MERCI.

    A+

  2. #2
    Expert éminent sénior Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : Février 2011
    Messages : 6 379
    Points : 19 060
    Points
    19 060
    Par défaut
    Salut Dari68.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    select sysdate()
    --------------
     
    +---------------------+
    | sysdate()           |
    +---------------------+
    | 2021-07-10 00:58:11 |
    +---------------------+
    Donc pas de guillemets et il manque les parenthèses puisque c'est une fonction.

    @+
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    727
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 727
    Points : 261
    Points
    261
    Par défaut
    MERCI Artemus,

    A+

    Bon weekend.

  4. #4
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 133
    Points : 38 556
    Points
    38 556
    Billets dans le blog
    9
    Par défaut
    Bonjour,

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    create table ma_table
          (  ma_ident  integer   auto_increment primary key
           , ma_ts     timestamp not null default current_timestamp
           , ma_date   DATE      not null default (date_format(NOW(), '%Y-%m-%d'))
           , ma_truc   char(5)
          )
    ;
    insert into ma_table (ma_truc)
    values ('abcd'), ('efgh'), ('qsdf')
    ;
    select * from ma_table
    ;

    Résultat :
    ma_ident ma_ts ma_date ma_truc
    1 2021-07-10 14:21:56 2021-07-10 abcd
    2 2021-07-10 14:21:56 2021-07-10 efgh
    3 2021-07-10 14:21:56 2021-07-10 qsdf

  5. #5
    Expert éminent sénior Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : Février 2011
    Messages : 6 379
    Points : 19 060
    Points
    19 060
    Par défaut
    Salut à tous.

    Je ne sais pas pourquoi, mysql autorise à faire référence à une fonction, sans paramètre, sans préciser les parenthèses.

    @ Escartefigue : il n'est pas nécessaire de formater la date quand tu initialises une colonne de type "date" à partir de la fonction "now()".

    Bon week-end à tous.

    @+
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr

  6. #6
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 133
    Points : 38 556
    Points
    38 556
    Billets dans le blog
    9
    Par défaut
    Mysql V8 accepte default current_timestamp, mais ni defaut now(), ni default current_date, ni default sysdate().
    Date_format permet d'affecter la valeur par défaut sans avoir d'erreur

  7. #7
    Expert éminent sénior Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : Février 2011
    Messages : 6 379
    Points : 19 060
    Points
    19 060
    Par défaut
    Salut Escartfigue.

    Il y a quelques particularités qu'il faut connaitre avec MySql.
    Si ce sont des fonctions, la valeur par défaut doit être mise entre parenthèses :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    --------------
    START TRANSACTION
    --------------
     
    --------------
    DROP DATABASE IF EXISTS `base`
    --------------
     
    --------------
    CREATE DATABASE IF NOT EXISTS `base`
            DEFAULT CHARACTER SET `latin1`
            DEFAULT COLLATE       `latin1_general_ci`
    --------------
     
    --------------
    DROP TABLE IF EXISTS `test`
    --------------
     
    --------------
    CREATE TABLE `test`
    ( `ma_ident`  integer unsigned NOT NULL AUTO_INCREMENT primary key,
      `ma_ts`     timestamp        NOT NULL default (current_timestamp),
      `ma_date`   date             NOT NULL default (current_date),
      `ma_truc`   char(05)         NOT NULL
    ) ENGINE=InnoDB
      DEFAULT CHARSET=`latin1` COLLATE=`latin1_general_ci`
      ROW_FORMAT=COMPRESSED
    --------------
     
    --------------
    insert into `test` (`ma_truc`) values ('abcd'),('efgh'),('qsdf')
    --------------
     
    --------------
    select * from `test`
    --------------
     
    +----------+---------------------+------------+---------+
    | ma_ident | ma_ts               | ma_date    | ma_truc |
    +----------+---------------------+------------+---------+
    |        1 | 2021-07-10 19:24:00 | 2021-07-10 | abcd    |
    |        2 | 2021-07-10 19:24:00 | 2021-07-10 | efgh    |
    |        3 | 2021-07-10 19:24:00 | 2021-07-10 | qsdf    |
    +----------+---------------------+------------+---------+
    --------------
    COMMIT
    --------------
     
    Appuyez sur une touche pour continuer...
    Va savoir pourquoi ???

    @+
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr

  8. #8
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 133
    Points : 38 556
    Points
    38 556
    Billets dans le blog
    9
    Par défaut
    bien vu

    Etrange en effet

  9. #9
    Membre actif
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    727
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 727
    Points : 261
    Points
    261
    Par défaut


    A+

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

Discussions similaires

  1. [E-03] Se référer à la date système pour créer des conditions
    Par moilou2 dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 04/02/2009, 16h08
  2. Largeur fixe pour une colonne de GridView
    Par slokix dans le forum ASP.NET
    Réponses: 11
    Dernier message: 26/09/2007, 09h01
  3. Centraliser un système pour une ferme de PC
    Par tsing dans le forum Applications et environnements graphiques
    Réponses: 2
    Dernier message: 15/05/2007, 13h31
  4. Récupération du type d'une colonne dans une base de données
    Par Astartee dans le forum Accès aux données
    Réponses: 2
    Dernier message: 07/05/2007, 13h03
  5. Union de 2 tables pour une colonne
    Par charleshbo dans le forum Langage SQL
    Réponses: 4
    Dernier message: 18/04/2006, 17h23

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