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

PHP & Base de données Discussion :

Passer d'un Select à un Update [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de PIEPLU
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    507
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 507
    Par défaut Passer d'un Select à un Update
    Bonjour tout le monde, je cherche à passer cette SQL en Update


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT IF(LOCATE('(',`ville_entreprise`)>0,
      REPLACE(CONCAT(
        SUBSTRING(`ville_entreprise`,LOCATE('(',`ville_entreprise`)+1,LOCATE(')',`ville_entreprise`)-LOCATE('(',`ville_entreprise`)-1),' ',SUBSTRING(`ville_entreprise`,1,LOCATE('(',`ville_entreprise`)-1)),"' ","'")           ,`ville_entreprise`) as `ville_entreprise`, LOCATE('(',`ville_entreprise`), LOCATE(')',`ville_entreprise`) FROM `Temp`

    Mais je n'y parviens pas, auriez vous la bonne méthode ?

    Merci

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Septembre 2002
    Messages
    144
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2002
    Messages : 144
    Par défaut
    Salut,
    Je l'ai écrite rapidement à partir de ton code, vérifie quand même :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    UPDATE `Temp`
    SET `ville_entreprise` = 
    CONCAT(SUBSTRING(`ville_entreprise`,LOCATE('(',`ville_entreprise`)+1,LOCATE(')',`ville_entreprise`)-LOCATE('(',`ville_entreprise`)-1),' ',SUBSTRING(`ville_entreprise`,1,LOCATE('(',`ville_entreprise`)-1)),"' ","'"),`ville_entreprise`)
    WHERE LOCATE('(',`ville_entreprise`)>0)
    Si ça marche, un 'tit résolu

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Septembre 2002
    Messages
    144
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2002
    Messages : 144
    Par défaut
    Si tu veux un résultat convenable sans te prendre la tête avec une formule complexe, vérifie que tu n'aies pas de ville avec des doubles parenthèses :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT *
    FROM `Temp`
    WHERE `ville_entreprise` LIKE '%(%(%'
    Si cette requête te retourne un résultat vide, vérifie avec un SELECT le retour de cette requête avant d'appliquer un UPDATE :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT TRIM(REPLACE(REPLACE(REPLACE(`ville_entreprise`, '(', ' '), ')', ' '), '  ', ' ')) AS ville_corrigee
    FROM `Temp`
    WHERE `ville_entreprise` LIKE '%(%)%'
    Cette requête remplace chaque parenthèse, fermante ou ouvrante, par un espace, puis les 2 espaces par un seul.

    Puis ton Update :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    UPDATE `Temp`
    SET `ville_entreprise` = TRIM(REPLACE(REPLACE(REPLACE(`ville_entreprise`, '(', ' '), ')', ' '), '  ', ' '))
    WHERE `ville_entreprise` LIKE '%(%)%'
    Bye

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

Discussions similaires

  1. Grant Select, Insert, Update
    Par lmdpedat dans le forum Outils
    Réponses: 4
    Dernier message: 03/08/2006, 17h42
  2. Grant Select, Insert, Update
    Par lmdpedat dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 03/08/2006, 15h01
  3. Requête et sous requête avec SELECT et UPDATE
    Par Véronique75ca dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 29/06/2006, 21h25
  4. [MySql5]select ... for update
    Par melou dans le forum Requêtes
    Réponses: 1
    Dernier message: 20/04/2006, 11h11
  5. [Verrou] SELECT FOR UPDATE
    Par e1lauren dans le forum PostgreSQL
    Réponses: 10
    Dernier message: 13/10/2005, 17h06

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