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 :

REPLACE dans un UPDATE


Sujet :

Requêtes MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2003
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 2
    Par défaut REPLACE dans un UPDATE
    Salut,

    Je voudrais faire une requete qui puisse remplacer une sous-chaine de caracères dans un champ, exactement comme ferait cette requete :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT REPLACE(field, 'from', 'to') FROM table WHERE id=42
    Mais je voudrais que la valeur soit également remplacée dans la table.

    Voici la requete (qui ne marche pas) que j'ai essayée, pour que vous compreniez ce que je cherche à faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    UPDATE test SET word='(SELECT REPLACE(word, 'é', 'é') FROM test)' WHERE word='blablaéblabla'

    Mais cette requête ne fonctionne pas. Est ce que je devrais faire autrement avec un SubSelect ?

    Merci pour vos idées.

    --
    Jérémy.

  2. #2
    Expert confirmé
    Avatar de qi130
    Homme Profil pro
    Expert Processus IT
    Inscrit en
    Mars 2003
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Expert Processus IT
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 932
    Par défaut
    Ca ne peut pas fonctionner: UPDATE est interdit sur une table faisant l'objet d'un SELECT imbriqué...(et c'est pas spécifique à MySQL)

    Il faut passer par une table intermédiaire.

  3. #3
    Membre Expert
    Avatar de Alexandre T
    Homme Profil pro
    Chef de projets AMO
    Inscrit en
    Mai 2002
    Messages
    1 213
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projets AMO
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 213
    Par défaut
    Je ne suis pas sûr d'avoir bien compris le problème.
    Mais la réponse à ce que j'ai compris serait simplement:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    UPDATE test SET word=REPLACE(word, 'é', 'é')  WHERE word='blablaéblabla'
    Alexandre Tranchant
    Chef de projet AMO pour le Cerema.
    Retrouvez mes articles sur PHP et Symfony

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2003
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 2
    Par défaut
    Merci Alexandre T, c'est exactement ce que je cherchais.

    --
    Jérémy

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

Discussions similaires

  1. Problème d'update/replace dans Play 2.0.2
    Par thanos dans le forum Play!
    Réponses: 0
    Dernier message: 31/07/2012, 23h46
  2. Utilisation de la fonction REPLACE dans un UPDATE
    Par vincent_cda dans le forum SQL
    Réponses: 5
    Dernier message: 16/08/2011, 13h29
  3. Utilisation de replace dans champs text
    Par cdelamarre dans le forum PostgreSQL
    Réponses: 5
    Dernier message: 01/12/2004, 17h26
  4. Une ch'tite bizarrerie dans les Updates de SQL Server
    Par Wakko2k dans le forum MS SQL Server
    Réponses: 12
    Dernier message: 08/04/2004, 14h14
  5. GROUP BY et HAVING dans un UPDATE
    Par MashiMaro dans le forum Langage SQL
    Réponses: 3
    Dernier message: 26/08/2003, 08h03

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