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

Outils MySQL Discussion :

Question sur l'utilisation du type TIMESTAMP


Sujet :

Outils MySQL

  1. #1
    Membre expérimenté Avatar de shkyo
    Homme Profil pro
    Développeur Robotique - Administrateur systèmes
    Inscrit en
    Juin 2003
    Messages
    841
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur Robotique - Administrateur systèmes

    Informations forums :
    Inscription : Juin 2003
    Messages : 841
    Points : 1 474
    Points
    1 474
    Par défaut Question sur l'utilisation du type TIMESTAMP
    Bonjour, voici mon soucis.

    J'ai une table avec une vingtaine de champs, le 1er est mon PRIMARY KEY, le 2ème est DATE, le 3ème est un TIMESTAMP (par défaut), et après tous les autres sont principalement du FLOAT UNSIGNED.

    Je veux remplir avec des fichiers .csv qui sont construit corrects, chaque colonne correspond bien à chaque champ et les types de données aussi, les imports se passe sans erreur (avec phpMyAdmin), mais mon champ de type TIMESTAMP reste désespérement à 0000-00-00 00:00:00 !!!

    La colonne correspondante dans le .csv est vide, mais comme pour le champ qui sert de PRIMARY KEY, qui lui se remplis et s'incrémente pi-poil !!!

    Où est l'erreur ??? Merci d'avance...

  2. #2
    Membre émérite Avatar de Maximil ian
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 622
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 622
    Points : 2 973
    Points
    2 973
    Par défaut
    Salut,

    Peux-tu nous donner ta version de MySQL, les ordres de création de la table et un extrait du CSV ?

  3. #3
    Membre expérimenté Avatar de shkyo
    Homme Profil pro
    Développeur Robotique - Administrateur systèmes
    Inscrit en
    Juin 2003
    Messages
    841
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur Robotique - Administrateur systèmes

    Informations forums :
    Inscription : Juin 2003
    Messages : 841
    Points : 1 474
    Points
    1 474
    Par défaut
    Citation Envoyé par Maximilian
    Salut,

    Peux-tu nous donner ta version de MySQL, les ordres de création de la table et un extrait du CSV ?
    Alors j'utilise MySQL 5.0.22 et phpMyAdmin 2.8.1
    Pour les ordres de création je vais résumer :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CREATE TABLE pressions (ID_P MEDIUMINT UNSIGNED NOT NULL AUTO_INCREMENT, dates_P DATE, ts_P TIMESTAMP, p_s_vap_EV1 FLOAT(5,1) UNSIGNED, ..... , PRIMARY KEY(ID_P));
    les "....." représente les déclarations d'une vingtaine de champs de type FLOAT(m,d) UNSIGNED

    et voici un extrait du fichier .csv (les 3 premières lignes, il y en a 24 par fichiers)

    ;2006-08-18;;1168.4;636.5;326.4;90.9;994.6;1.25;1068.1;1068.1;636.5;326.4;104.9;105;-68;13.7;-7;-50;-50;98.0
    ;2006-08-18;;1164.0;640.4;340.8;93.3;995.1;1.24;1068.0;1068.0;640.4;340.8;104.9;105;-71;13.3;-7;-50;-50;100.4
    ;2006-08-18;;1151.9;633.0;332.0;86.5;997.2;1.20;1056.1;1056.1;633.0;332.0;104.9;105;-74;13.4;-7;-50;-50;86.7

    Je sais qu'il y a des valeurs négatives alors que je n'ai que des UNSIGNED, mais ce n'est pas grave, car ce sont des abérations de capteurs quand certains appareils sont arrêtés, cela les stockent à "0" et c'est très bien !

  4. #4
    Membre éclairé
    Avatar de gerald2545
    Profil pro
    Inscrit en
    Février 2003
    Messages
    744
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 744
    Points : 773
    Points
    773
    Par défaut
    et que voudrais-tu avoir pour ton timestamp? le timestamp d'insertion de l'enregistrement?
    je pense que dans ta définition de colonne tu peux donner une valeur par défaut si le champs est null.
    Avec postgresql tu peux lui donner l'expression "now()" et il t'enregistre automatiquement le timastamp du moment de l'insertion.
    Je suppose que MySQL peut faire de même....

  5. #5
    Membre expérimenté Avatar de shkyo
    Homme Profil pro
    Développeur Robotique - Administrateur systèmes
    Inscrit en
    Juin 2003
    Messages
    841
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur Robotique - Administrateur systèmes

    Informations forums :
    Inscription : Juin 2003
    Messages : 841
    Points : 1 474
    Points
    1 474
    Par défaut
    Citation Envoyé par gerald2545
    et que voudrais-tu avoir pour ton timestamp? le timestamp d'insertion de l'enregistrement?
    je pense que dans ta définition de colonne tu peux donner une valeur par défaut si le champs est null.
    Avec postgresql tu peux lui donner l'expression "now()" et il t'enregistre automatiquement le timastamp du moment de l'insertion.
    Je suppose que MySQL peut faire de même....
    Avec MySQL, quand tu ne précises rien de plus que TIMESTAMP, l'attribut par défaut est ON UPDATE CURRENT_TIMESTAMP et le paramètre défaut est CURRENT_TIMESTAMP donc, en théorie, le timestamp devrait être différent à chaque ligne et au lieu de ça il reste à zéro...

  6. #6
    Membre éprouvé
    Avatar de Biglo
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    537
    Détails du profil
    Informations personnelles :
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 537
    Points : 984
    Points
    984
    Par défaut
    Essaie de modifier une ligne, en mettant \N pour une valeur de la colonne timestamp, pour voir si ça change quelque chose

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ;2006-08-18;\N;1168.4;636.5;326.4;90.9;994.6;1.25;1068.1;1068.1;636.5;326.4;104.9;105;-68;13.7;-7;-50;-50;98.0
    Donne-nous également ta commande LOAD DATA que tu utilises pour charger le csv.

  7. #7
    Membre éclairé
    Avatar de gerald2545
    Profil pro
    Inscrit en
    Février 2003
    Messages
    744
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 744
    Points : 773
    Points
    773
    Par défaut
    ON UPDATE CURRENT_TIMESTAMP
    et pourquoi pas
    ON INSERT CURRENT_TIMESTAMP
    ?
    Si je comprends bien, il ne met le timestamp courant que pour une mise à jour...
    tu as essayé de faire une mise à jour sans toucher à ce timestamp pour voir s'il change?

  8. #8
    Membre expérimenté Avatar de shkyo
    Homme Profil pro
    Développeur Robotique - Administrateur systèmes
    Inscrit en
    Juin 2003
    Messages
    841
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur Robotique - Administrateur systèmes

    Informations forums :
    Inscription : Juin 2003
    Messages : 841
    Points : 1 474
    Points
    1 474
    Par défaut
    Citation Envoyé par Biglo
    Essaie de modifier une ligne, en mettant \N pour une valeur de la colonne timestamp, pour voir si ça change quelque chose

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ;2006-08-18;\N;1168.4;636.5;326.4;90.9;994.6;1.25;1068.1;1068.1;636.5;326.4;104.9;105;-68;13.7;-7;-50;-50;98.0
    Donne-nous également ta commande LOAD DATA que tu utilises pour charger le csv.
    YES !!! en mettant \N cela fonctionne parfaitement ! Bon évidement j'ai 24 valeurs identiques vu qu'il lui faut moins d'1/100 de secondes pour importer 24 petites lignes, mais ce n'est pas grave car j'ai plusieurs fichiers différents par jour, et j'aurais donc un TIMESTAMP par fichier.

    Merci à tous !

  9. #9
    Membre éprouvé
    Avatar de Biglo
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    537
    Détails du profil
    Informations personnelles :
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 537
    Points : 984
    Points
    984
    Par défaut
    De rien, mais si tu as un gros fichier à modifier, il n'est pas nécessaire de mettre des \N partout. Il est possible d'ignorer la colonne avec la commande LOAD DATA.

    Enfin bon, tant que ça marche et que ça te convient

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

Discussions similaires

  1. Question sur l'utilisation de wget
    Par berry dans le forum Réseau
    Réponses: 7
    Dernier message: 24/05/2007, 22h46
  2. question sur l'utilisation d'une listBox
    Par Mickey.jet dans le forum Delphi
    Réponses: 3
    Dernier message: 02/06/2006, 17h57
  3. Question sur l'utilisation du mot réservé static
    Par flash2590 dans le forum Langage
    Réponses: 4
    Dernier message: 10/04/2006, 00h20
  4. [Framework] Questions sur l'utilisation de spring
    Par mlequim dans le forum Spring
    Réponses: 10
    Dernier message: 01/02/2006, 15h27
  5. Question sur un controle de type "button"
    Par Invité dans le forum Windows
    Réponses: 2
    Dernier message: 29/05/2004, 11h30

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