Changement replacce

splintermik -  
jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour a tous

alors voila, il y a quelque temps , j'utiliser la commande suivante , pour modifier une donner présente dans un champs contenant plusieurs donnée :

UPDATE `TABLES` SET 'data' = replace(data, 'VALEUR_A_CHERCHER', 'VALEUR _A_REMPLACER');

cette commande permet de modifier ce que

UPDATE `TABLES` SET `COLONNE`="VALEUR _A_REMPLACER" WHERE `owner`="VALEUR_A_CHERCHER";

ne fait pas

j'aimerais savoir quelle est la nouvelle commande

j'ai fais quelque heures de recherche, mais je n'es pas trouver ce que je voulais

mysql Ver 14.14 Distrib 5.5.54, for debian-linux-gnu (x86_64) using readline 6.3

Merci beaucoup ! :)

2 réponses

  1. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
     
    Bonjour,

    Quelle "nouvelle" syntaxe ??
    celle la est toujours d'actualité il me semble....
    https://dev.mysql.com/doc/refman/5.7/en/string-functions.html#function_replace

    https://sql.sh/fonctions/replace
    1
    1. splintermik
       
      ca ne fonctionne plus

      J'ai ce message :

      mysql> UPDATE `TABLE` SET 'COLONNE' = replace(data, 'VALEUR1', 'VALUER2');
      ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''data' = replace(data, 'VALEUR1', 'VALEUR2' at line 1

      avant ca fonctionner, et un beau jours, plus !
      0
      1. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830 > splintermik
         
        N'aurais tu pas un souci d'apostrophes ( de quotes ) ???
        Quand je lis :
        UPDATE `TABLES` SET 'data' = replace(data, 'VALEUR_A_CHERCHER', 'VALEUR _A_REMPLACER'); 
        

        .. je me demande ce que viennent faire les quotes autour du nom de ta colonne "data" ....

        Si tu faisais simplement :
        UPDATE `TABLES` SET data = replace(data, 'VALEUR_A_CHERCHER', 'VALEUR _A_REMPLACER'); 
        

        Est-ce que ça ne fonctionnerait pas mieux ??
        0
      2. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830 > jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention  
         
        Ou à la limite.. avec des BACKQUOTES
        UPDATE `TABLES` SET `data` = replace(data, 'VALEUR_A_CHERCHER', 'VALEUR _A_REMPLACER'); 
        
        0
    2. splintermik
       
      du coup avec le lien que tu m'as donné j'ai trouver ca :

      SELECT REPLACE('VALEUR1', 'VALEUR1', 'VALEUR2');

      qui remplace la VALEUR1 en VALEUR2

      Merci :)
      0