Hướng dẫn mysql replace newline - mysql thay thế dòng mới

Tôi đã thực hiện sau truy vấn và vì một số lý do, nó không thay thế ký tự dòng mới trong cơ sở dữ liệu. Nó nói các hàng phù hợp với 1 nhưng không thay đổi. Điều gì có thể sai?

mysql> UPDATE aboutme SET abouttext=REPLACE(abouttext,'\\n','') WHERE userid='5099a95cd944b8.22468149';
Query OK, 0 rows affected (0.00 sec)
Rows matched: 1  Changed: 0  Warnings: 0

Đã hỏi ngày 7 tháng 11 năm 2012 lúc 15:56Nov 7, 2012 at 15:56

Hướng dẫn mysql replace newline - mysql thay thế dòng mới

Pit Diggerpit DiggerPit Digger

9.42123 Huy hiệu vàng74 Huy hiệu bạc120 Huy hiệu đồng23 gold badges74 silver badges120 bronze badges

2

Bạn có thể khớp một ký tự mới bằng cách sử dụng \n, không phải \\n.

Code:

 UPDATE aboutme 
 SET abouttext=REPLACE(abouttext,'\n','') 
 WHERE userid='5099a95cd944b8.22468149';

Đã trả lời ngày 7 tháng 11 năm 2012 lúc 16:01Nov 7, 2012 at 16:01

1

Nếu \n không hoạt động như trong trường hợp của tôi, thì sau đây đã hoạt động

 UPDATE aboutme 
 SET abouttext=REPLACE(abouttext,'\n','') 
 WHERE userid='5099a95cd944b8.22468149';
1

UPDATE aboutme 
SET abouttext=REPLACE(abouttext,'\r\n','') 
WHERE userid='5099a95cd944b8.22468149';

Trong trường hợp của tôi, nó đã là một ứng dụng web.

Hướng dẫn mysql replace newline - mysql thay thế dòng mới

hình đại diện

13.6K8 Huy hiệu vàng113 Huy hiệu bạc186 Huy hiệu đồng8 gold badges113 silver badges186 bronze badges

Đã trả lời ngày 20 tháng 11 năm 2015 lúc 17:08Nov 20, 2015 at 17:08

Hướng dẫn mysql replace newline - mysql thay thế dòng mới

Hammad Khanhammad KhanHammad Khan

15.9K16 Huy hiệu vàng109 Huy hiệu bạc133 Huy hiệu Đồng16 gold badges109 silver badges133 bronze badges

Bạn nghĩ rằng nó chứa \n, nhưng nó có

 UPDATE aboutme 
 SET abouttext=REPLACE(abouttext,'\n','') 
 WHERE userid='5099a95cd944b8.22468149';
3.

update [Table] set [column]=replace(convert([column] using utf8) ,'\r','');

Trong trường hợp của bạn:

update aboutme set abouttext=replace(convert(abouttext using utf8) ,'\r','');

Hướng dẫn mysql replace newline - mysql thay thế dòng mới

Joshua Taylor

83.7K9 Huy hiệu vàng149 Huy hiệu bạc343 Huy hiệu Đồng9 gold badges149 silver badges343 bronze badges

Đã trả lời ngày 26 tháng 9 năm 2013 lúc 12:42Sep 26, 2013 at 12:42

Hướng dẫn mysql replace newline - mysql thay thế dòng mới

Điều duy nhất làm việc cho tôi là sử dụng điều này:

UPDATE aboutme SET abouttext = REPLACE(REPLACE(abouttext, CHAR(13), ''), CHAR(10), '') WHERE userid='5099a95cd944b8.22468149';

Sử dụng giải pháp của Ryan không cập nhật bất cứ điều gì nhưng đang làm hỏng định dạng đầu ra MySQL

Đã trả lời ngày 18 tháng 5 lúc 13:07May 18 at 13:07

Đây là những gì đang xảy ra

mysql> mysql> select * from t1 limit 3;
+----------+------------+-----------+---------------------+
| actor_id | first_name | last_name | last_update         |
+----------+------------+-----------+---------------------+
|        1 | PENELOPE   | GUINESS   | 2006-02-15 04:34:33 |
|        2 | NICK       | WAHLBERG  | 2006-02-15 04:34:33 |
|        3 | ED         | CHASE     | 2006-02-15 04:34:33 |
+----------+------------+-----------+---------------------+
3 rows in set (0.00 sec)

mysql> update t1 set first_name=replace(first_name,'abc','') where first_name='ed';
Query OK, 0 rows affected (0.00 sec)
Rows matched: 10  Changed: 0  Warnings: 0

mysql> select * from t1 limit 3;
+----------+------------+-----------+---------------------+
| actor_id | first_name | last_name | last_update         |
+----------+------------+-----------+---------------------+
|        1 | PENELOPE   | GUINESS   | 2006-02-15 04:34:33 |
|        2 | NICK       | WAHLBERG  | 2006-02-15 04:34:33 |
|        3 | ED         | CHASE     | 2006-02-15 04:34:33 |
+----------+------------+-----------+---------------------+
3 rows in set (0.00 sec)


mysql> update t1 set first_name=replace(first_name,'ED','EDD') where first_name='ed';
Query OK, 10 rows affected (0.00 sec)
Rows matched: 10  Changed: 10  Warnings: 0

mysql> select * from t1 limit 3;
+----------+------------+-----------+---------------------+
| actor_id | first_name | last_name | last_update         |
+----------+------------+-----------+---------------------+
|        1 | PENELOPE   | GUINESS   | 2006-02-15 04:34:33 |
|        2 | NICK       | WAHLBERG  | 2006-02-15 04:34:33 |
|        3 | EDD        | CHASE     | 2006-02-15 04:34:33 |
+----------+------------+-----------+---------------------+

3 rows in set (0.00 sec)

Ý tôi là điều kiện mà nó hoạt động, đó là lý do tại sao bạn có 'hàng phù hợp: 1' nhưng thay thế của bạn không tìm thấy \\n để thay thế nó, đó là lý do tại sao

 UPDATE aboutme 
 SET abouttext=REPLACE(abouttext,'\n','') 
 WHERE userid='5099a95cd944b8.22468149';
5 vì vậy hãy kiểm tra dữ liệu bảng của bạn.

Đã trả lời ngày 7 tháng 11 năm 2012 lúc 16:09Nov 7, 2012 at 16:09

Hướng dẫn mysql replace newline - mysql thay thế dòng mới

jcho360jcho360jcho360

3.6931 Huy hiệu vàng14 Huy hiệu bạc24 Huy hiệu đồng1 gold badge14 silver badges24 bronze badges

Hàm thay thế nhạy cảm, tôi nghĩ nó thuộc phiên bản máy chủ mysql

Mô tả = Thay thế (Mô tả, 'Videorite', 'Video.5LA.NET') là kết quả khác với Mô tả = Thay thế (Mô tả, 'Videorite', 'Video.5LA.NET')

Đã trả lời ngày 10 tháng 3 năm 2018 lúc 8:56Mar 10, 2018 at 8:56

Làm HOA VINHDO HOA VINHDo Hoa Vinh

3384 Huy hiệu bạc11 Huy hiệu đồng4 silver badges11 bronze badges

Hãy thử một cái gì đó như vậy:

REPLACE(REPLACE(text, CHAR(92), '#'), '#n', ' ')

Đã trả lời ngày 27 tháng 9 năm 2021 lúc 13:36Sep 27, 2021 at 13:36

LipalipaLipa

514 huy hiệu đồng4 bronze badges