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 :

Changer une colonne secondes en millisecondes


Sujet :

Requêtes MySQL

  1. #1
    Candidat au Club
    Homme Profil pro
    Auditeur informatique
    Inscrit en
    Mars 2016
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Auditeur informatique
    Secteur : Alimentation

    Informations forums :
    Inscription : Mars 2016
    Messages : 1
    Points : 3
    Points
    3
    Par défaut Changer une colonne secondes en millisecondes
    Bonjour,Bonsoir,

    Je suis débutant mais en soif d'apprendre malheureusement je suis heurté a un soucis a une table.
    Dans cette table SQL, j'ai une colonne avec des donnés en secondes mais je remarque qu'il faut la remplacé en millisecondes.
    Malheureusement il y a de multiples valeurs différentes dont 67000 lignes environs.

    J'ai essayer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    UPDATE `creature` SET `spawntimesecs` = REPLACE '1300'
    WHERE `spawntimesecs` LIKE '300'
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    UPDATE `creature` SET `spawntimesecs` = '1300' WHERE `id` = ("721" "15763")
    merci pour vos futurs solutions.

  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 381
    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 381
    Points : 19 065
    Points
    19 065
    Par défaut
    Salut kokiwixx.

    Je n'ai rien compris de vos explications !

    Voici ce que vous devez nous fournir si vous désirez que l'on résolve votre problème :
    1) la description de votre table (DDL), en précisant le type de la colonne qui vous pose un problème.
    2) un jeu d'essai représentatif de votre problème.
    3) la solution que vous désirez obtenir
    4) et des explications simple et clair afin que nous puissions comprendre ce que vous attendez de nous.

    Ayez à l'esprit que nous ignorons tout de votre problématique.
    Adressez-vous comme si nous découvrions pour la première fois votre problème.
    Répondez à ses questions si vous désirez que l'on vous aide !

    Citation Envoyé par kokiwixx
    Dans cette table SQL, j'ai une colonne ...
    Quel est le type de cette colonne ?

    Citation Envoyé par kokiwixx
    ... avec des donnés en secondes ...
    Qu'est-ce que vous stockez dans cette colonne pour avoir des secondes ?
    Est-ce une colonne de type "TIME" ? Dont le représentation est "HH:MM:SS" ?

    Citation Envoyé par kokiwixx
    ... mais je remarque qu'il faut la remplacé en millisecondes.
    Le passage des secondes en millisecondes se fait en multipliant par mille.
    Qu'est-ce qui vous empêche de procéder ainsi ?

    Citation Envoyé par kokiwixx
    Malheureusement il y a de multiples valeurs différentes dont 67000 lignes environs.
    Quel est la nature de votre problème ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    UPDATE `creature` SET `spawntimesecs` = REPLACE '1300' WHERE `spawntimesecs` LIKE '300'
    Non, cela ne peut pas fonctionner car vous avez une erreur de syntaxe. Pour la syntaxe, regardez la documentation officielle : https://dev.mysql.com/doc/refman/5.7/en/update.html

    Deux remarques :

    a) si vous utilisez la clause "like", c'est que votre colonne est du type char (ou varchar). Est-ce bien cela ?
    Quelle idée saugrenue de stocker une valeur numérique dans une colonne de type chaîne de caractères ?

    b) si je traduis ce que vous désirez faire, mettre 1300 à la place de 300, cela n'a aucun rapport avec le passage des secondes aux millisecondes.
    Et votre exemple n'est pas en conformité avec vos explications.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    UPDATE `creature` SET `spawntimesecs` = '1300' WHERE `id` = ("721" "15763")
    La encore la syntaxe n'est pas correcte.
    Quel est le type de la colonne "id" ? Dois-je comprendre qu'elle est en integer ?
    Si c'est oui, il est incorrecte de mettre "721", car ceci est une chaîne de caractères.
    De plus, pour séparer les différentes valeurs vous devez mettre une virgule.
    Cela fonctionnera mieux si vous écrivez ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    UPDATE creature SET spawntimesecs = '1300' WHERE id = (721, 15763)
    Encore une fois, il nous est difficile de vous répondre si vous ne nous donnez pas les informations nécessaires à la compréhension de votre problème.

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

  3. #3
    Membre confirmé Avatar de Sebwar
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2012
    Messages
    172
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2012
    Messages : 172
    Points : 498
    Points
    498
    Par défaut
    Citation Envoyé par kokiwixx
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    UPDATE `creature` SET `spawntimesecs` = REPLACE '1300'
    WHERE `spawntimesecs` LIKE '300'
    au niveau de la requete cela donnerais plutot :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    UPDATE `creature` SET `spawntimesecs` = '1300' WHERE `spawntimesecs` = '300'
    au niveau de la convertion vous avez également quelques problème :
    1 seconde = 1000 millisecondes
    donc 300 secondes = 300000 millisecondes (et non 1300 secondes )

    pour changer l'ensemble des données de seconde a milliseconde il faudra donc faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    UPDATE creature SET spawntimesecs = spawntimesecs * 1000

Discussions similaires

  1. Changer le nom d'une colonne
    Par Poussy-Puce dans le forum Langage SQL
    Réponses: 4
    Dernier message: 16/07/2007, 11h57
  2. Changer le type d'une colonne
    Par Poisson59 dans le forum Oracle
    Réponses: 2
    Dernier message: 06/12/2005, 13h59
  3. [Débutant] Changer le type d'une colonne
    Par david71 dans le forum MS SQL Server
    Réponses: 8
    Dernier message: 08/11/2005, 11h26
  4. changer le tablespace d'une colonne blob
    Par learn dans le forum Oracle
    Réponses: 4
    Dernier message: 15/08/2005, 18h44
  5. Comment changer une proriété d'une colonne entière...
    Par Zebulon777 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 16/03/2005, 15h09

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