web-dev-qa-db-fra.com

Comment supprimer les caractères d'une nouvelle ligne des lignes de données dans mysql?

Je peux parcourir toutes les lignes d'un script php et faire

UPDATE mytable SET title = "'.trim($row['title']).'" where id = "'.$row['id'].'";

et couper peut supprimer\n

Mais je me demandais si on pouvait faire la même chose en une requête?

 update mytable SET title = TRIM(title, '\n') where 1=1

est-ce que ça marchera? Je peux alors simplement exécuter cette requête sans avoir à passer en boucle!

merci

(PS: Je pourrais le tester, mais la table est assez grande et ne veut pas gâcher les données, alors pensez bien si vous avez déjà testé quelque chose comme ça auparavant)

79
TigerTiger

votre syntaxe est fausse:

update mytable SET title = TRIM(TRAILING '\n' FROM title)
112
longneck
UPDATE test SET log = REPLACE(REPLACE(log, '\r', ''), '\n', '');

a travaillé pour moi.

alors que son semblable, il va également se débarrasser de\r\n

http://lists.mysql.com/mysql/182689

107
Łukasz Rysiak

1) Remplacez tous les caractères nouvelle ligne et tabulation par des espaces.

2) Supprimez tous les premiers et derniers espaces.

 UPDATE mytable SET `title` = TRIM(REPLACE(REPLACE(REPLACE(`title`, '\n', ' '), '\r', ' '), '\t', ' '));
12
Geo

update mytable set title=trim(replace(REPLACE(title,CHAR(13),''),CHAR(10),''));

Ci-dessus travaille pour bien.

8

Supprime les retours de fin lors de l'importation à partir d'Excel. Lorsque vous l'exécutez, vous pouvez recevoir une erreur indiquant qu'il n'y a pas de WHERE; ignorer et exécuter.

UPDATE table_name SET col_name = TRIM(TRAILING '\r' FROM col_name)
4
Ulysnep
UPDATE mytable SET title=TRIM(REPLACE(REPLACE(title, "\n", ""), "\t", ""));
2
Risse

Mes 2 centimes.

Pour me débarrasser de mes\n, je devais faire un \\ n. J'espère que ça aide quelqu'un.

update mytable SET title = TRIM(TRAILING '\\n' FROM title)
0
Darshan Montgomery