替换表中的换行符

时间:2013-07-28 09:12:46

标签: php mysql

我有一张表,有两列:id, text 我想将换行符替换为文本列中的空格。

UPDATE txt SET text=REPLACE(text, '\n', ' ') WHERE text LIKE %\n%

这会有用吗?在运行此代码之前,我想确定一下。我不喜欢崩溃我的桌子,因为我有很多数据。

2 个答案:

答案 0 :(得分:1)

首先,找到至少一个包含\n数据的行ID:

SELECT id, text FROM txt
WHERE text LIKE '%\n%'
LIMIT 1

记下id,记住它。 然后,尝试使用您的查询替换它:

UPDATE txt SET text=REPLACE(text, '\n', ' ')
WHERE id = 123
  AND text LIKE '%\n%'

现在,检查您的更新是否成功(它应显示空结果):

SELECT id, text FROM txt
WHERE text LIKE '%\n%'
  AND id = 123

如果工作正常,请运行相同的更新,但现在没有限制。

如果出现任何问题,您可能只损坏了您在第一步中看到的ID和文本的一行,因此应该很容易修复。

答案 1 :(得分:0)

首先选择表格 txt

select
*
into tt_txt_2013_07_28
from txt

现在找到记录count

where text LIKE %\n%
select count(*)
from txt
where text LIKE %\n%

请注意count

现在您可以运行更新查询并匹配计数。如果您有任何不良结果,您可以备份备份表tt_txt_2013_07_28

中的记录
UPDATE txt 
SET text=REPLACE(text, '\n', ' ') 
WHERE text LIKE %\n%