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 :

ON UPDATE CURRENT_TIMESTAMP


Sujet :

Administration MySQL

  1. #1
    Membre averti
    Femme Profil pro
    Développeur .NET
    Inscrit en
    Décembre 2007
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Décembre 2007
    Messages : 27
    Par défaut ON UPDATE CURRENT_TIMESTAMP
    Bonjour à tous.

    Voilà mon problème : j'ai 2 tables (voir la structure ci-dessous).

    Dans CONSTANTES_CQS_GRP la clé primaire est DateVersion qui est un timestamp et a pour valeur par defaut NOW().
    Dans CQS_GRP_POMPAGE, DateVersionConstantesGrp fait référence à DateVersion de la 1ère table.

    Lorsque je créer les tables, sous phpMyAdmin, dans la colonne Attributs du champ DateVersionConstantesGrp de CQS_GRP_POMPAGE, on trouve ON UPDATE CURRENT_TIMESTAMP. Ce qui n'est pas du tout ce que je souhaite. Et dans la colonne Défaut il y a CURRENT_TIMESTAMP.

    J'ai essayé de trouver des discussions similaires mais en vain... Quelqu'un est-il en mesure de m'aider. Je vous en serais très reconnaissante.

    Merci d'avance.

    Audrey
    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
     
    CREATE TABLE CONSTANTES_CQS_GRP (
      DateVersion TIMESTAMP NOT NULL DEFAULT NOW(),
      TpsDescenteMax TIME NOT NULL,
      TpsRemonte TIME NOT NULL,
      PRIMARY KEY(DateVersion)
    );
     
    CREATE TABLE CQS_GRP_POMPAGE (
      NoCQS BIGINT UNSIGNED NOT NULL,
      DateVersionConstantesGrp TIMESTAMP NOT NULL,
      PRIMARY KEY(NoCQS),
      INDEX CQS_GRP_FK1(DateVersionConstantesGrp),
      FOREIGN KEY(DateVersionConstantesGrp)
        REFERENCES CONSTANTES_CQS_GRP(DateVersion)
          ON DELETE CASCADE
          ON UPDATE CASCADE
    );

  2. #2
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 288
    Par défaut
    Et quelle est ta question ?

  3. #3
    Membre averti
    Femme Profil pro
    Développeur .NET
    Inscrit en
    Décembre 2007
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Décembre 2007
    Messages : 27
    Par défaut
    Eh bien je souhaiterai que justement ce on update current_timestamp ne se mette pas automatiquement. Puisque sinon j'ai un message d'erreur, en effet l'intégrité réferentielle n'est pas respectée. Ce champ étant une relation, le système ne trouve pas d'enregistrement correspondant.

    Je ne sais pas si je me suis bien exprimée...

    Merci d'avance

  4. #4
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 288
    Par défaut
    OK. En fait, les TIMESTAMP sont toujours des dates automatiques (de création ou de modif, selon que l'option ON UPDATE CURRENT TIMESTAMP est utilisée ou non). Dans ton cas il faudrait utiliser un DATETIME à la place.

    Par ailleurs, c'est aberrant un TIMESTAMP comme clé primaire, car tu n'as aucune vraie garantie d'unicité. Il te faudrait en fait une IDversion, éventuellement en AUTO_INCREMENT.

Discussions similaires

  1. [MySQL] Update d'un current_timestamp
    Par StephBretagne dans le forum PHP & Base de données
    Réponses: 25
    Dernier message: 05/07/2012, 10h50
  2. on update current_timestamp ?
    Par tintinux dans le forum Débuter
    Réponses: 4
    Dernier message: 15/02/2011, 20h38
  3. default CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
    Par camyo dans le forum Installation
    Réponses: 11
    Dernier message: 27/03/2006, 16h33
  4. Réponses: 3
    Dernier message: 10/11/2002, 11h03
  5. update et virgule
    Par Delph dans le forum Bases de données
    Réponses: 8
    Dernier message: 27/08/2002, 14h40

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