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

Requêtes MySQL Discussion :

Ajout SYSDATE dans le champ d'une table


Sujet :

Requêtes MySQL

  1. #1
    Membre du Club
    Homme Profil pro
    Analyste d'exploitation
    Inscrit en
    Juillet 2017
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Analyste d'exploitation
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juillet 2017
    Messages : 33
    Points : 50
    Points
    50
    Par défaut Ajout SYSDATE dans le champ d'une table
    Bonjour,

    Je ne parviens pas à mettre à jour les données de ma table avec la date du system.

    Voici ma table (simplifiée):

    create table commande (
    idclient integer primary key auto_increment,
    datecom date);
    Je veux essayer de mettre à jour la colonne datecom avec la date system:

    alter commande
    set datecom = date_format(sysdate(), '%Y-%m-%d')
    where idclient=1;
    La requête ne passe pas.
    Pourtant, je pense que le format de ma colonne est respecté (yyyy-mm-dd).

    Lorsque je lance

    select date_format(sysdate(), '%Y-%m-%d'
    J'ai bien la date system au format yyyy-mm-dd qui s'affiche.

    Pourriez-vous me donner des indications svp?

    Merci

    Marco

  2. #2
    Membre éprouvé
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Novembre 2012
    Messages
    375
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2012
    Messages : 375
    Points : 1 030
    Points
    1 030
    Par défaut
    Bonjour,

    Si c'est pour mettre à jour les données, la requête serait plutôt :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    UPDATE commande
    SET datecom = date_format(sysdate(), '%Y-%m-%d')
    WHERE idclient=1;
    La commande ALTER permet de modifier la structure de la table, pas son contenu.

  3. #3
    Membre du Club
    Homme Profil pro
    Analyste d'exploitation
    Inscrit en
    Juillet 2017
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Analyste d'exploitation
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juillet 2017
    Messages : 33
    Points : 50
    Points
    50
    Par défaut
    Bonsoir et merci, l'erreur venait effectivement de là ...

  4. #4
    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 378
    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 378
    Points : 19 055
    Points
    19 055
    Par défaut
    Salut Walkyries93.

    Il est inutile de faire une mise en forme de votre date car ce n'est pas une chaîne de caractères.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    date_format(sysdate(), '%Y-%m-%d')
    Vous pouvez utiliser directement "sysdate()" ou "current_date" avec ou sans parenthèse.
    Ce sont des fonctions qui sont déjà dans le type datetime, et dans le type date.
    Il n'y a donc aucune conversion à faire.

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

  5. #5
    Membre du Club
    Homme Profil pro
    Analyste d'exploitation
    Inscrit en
    Juillet 2017
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Analyste d'exploitation
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juillet 2017
    Messages : 33
    Points : 50
    Points
    50
    Par défaut
    Salut Artemus,

    Merci, je pensais qu'il fallait nécessairement changer la date au format "yy-mm-dd" sans les heures, minutes et secondes pour que ça corresponde au format "date".

  6. #6
    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 378
    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 378
    Points : 19 055
    Points
    19 055
    Par défaut
    Salut walkyries93.

    Ne pas confondre type et format.

    La fonction "current_date" retourne un nombre en seconde depuis le 1er janvier 1970.
    C'est ce type de donnée qui est utilisé pour les dates, les heures dans MySql.

    Inversement, si vous avez une chaîne de caractères, il faut la convertir dans le type de donnée utilisé par MySql.
    De ce fait, la conversion doit obligatoirement tenir compte du format de cette chaîne de caractères pour quelle fonctionne correctement.

    Faites le test par vous même !

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

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

Discussions similaires

  1. [AC-2000] Ajout de caractere dans un champs d'une table
    Par nomade333 dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 04/06/2011, 22h04
  2. [SQL Server] rechercher dans plusieurs champs d'une table
    Par houla! dans le forum Langage SQL
    Réponses: 3
    Dernier message: 23/08/2006, 09h37
  3. Réponses: 3
    Dernier message: 21/08/2006, 11h31
  4. Réponses: 4
    Dernier message: 08/07/2006, 06h36
  5. Lire un code à barre dans un champ d'une table
    Par tleboukaka dans le forum Débuter
    Réponses: 1
    Dernier message: 05/09/2005, 15h15

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