Je peux parcourir toutes les lignes d'un script php et faire
UPDATE mytable SET title = "'.trim($row['title']).'" where id = "'.$row['id'].'";
et la coupe peut supprimer \ n
Mais je me demandais simplement si quelque chose de même pourrait être fait en une seule 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 besoin de boucler!
Merci
(PS: je pourrais le tester mais la table est assez grande et ne veut pas jouer avec les données, alors réfléchissez simplement si vous avez testé quelque chose comme ça avant)
Réponses:
votre syntaxe est fausse:
update mytable SET title = TRIM(TRAILING '\n' FROM title)
Une addition:
Si le caractère de nouvelle ligne est au début du champ:
update mytable SET title = TRIM(LEADING '\n' FROM title)
la source
UPDATE test SET log = REPLACE(REPLACE(log, '\r', ''), '\n', '');
travaillé pour moi.
même si c'est similaire, il se débarrassera également de \ r \ n
http://lists.mysql.com/mysql/182689
la source
1) Remplacez tous les nouveaux caractères de ligne et de tabulation par des espaces.
2) Supprimez tous les espaces de début et de fin .
UPDATE mytable SET `title` = TRIM(REPLACE(REPLACE(REPLACE(`title`, '\n', ' '), '\r', ' '), '\t', ' '));
la source
update mytable set title=trim(replace(REPLACE(title,CHAR(13),''),CHAR(10),''));
Ci-dessus fonctionne pour très bien.
la source
Supprime les retours de fin lors de l'importation depuis Excel. Lorsque vous exécutez cela, 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)
la source
UPDATE mytable SET title=TRIM(REPLACE(REPLACE(title, "\n", ""), "\t", ""));
la source
Mes 2 cents.
Pour me débarrasser de mes \ n je devais faire un \\ n. J'espère que cela aide quelqu'un.
update mytable SET title = TRIM(TRAILING '\\n' FROM title)
la source
Pour les caractères de nouvelle ligne
UPDATE table_name SET field_name = TRIM(TRAILING '\n' FROM field_name); UPDATE table_name SET field_name = TRIM(TRAILING '\r' FROM field_name); UPDATE table_name SET field_name = TRIM(TRAILING '\r\n' FROM field_name);
Pour tous les caractères d'espace blanc
UPDATE table_name SET field_name = TRIM(field_name); UPDATE table_name SET field_name = TRIM(TRAILING '\n' FROM field_name); UPDATE table_name SET field_name = TRIM(TRAILING '\r' FROM field_name); UPDATE table_name SET field_name = TRIM(TRAILING '\r\n' FROM field_name); UPDATE table_name SET field_name = TRIM(TRAILING '\t' FROM field_name);
En savoir plus: Fonction MySQL TRIM
la source
En jouant avec les réponses ci-dessus, celle-ci fonctionne pour moi
REPLACE(REPLACE(column_name , '\n', ''), '\r', '')
la source