我有一张表,有两列:id, text
我想将换行符替换为文本列中的空格。
UPDATE txt SET text=REPLACE(text, '\n', ' ') WHERE text LIKE %\n%
这会有用吗?在运行此代码之前,我想确定一下。我不喜欢崩溃我的桌子,因为我有很多数据。
答案 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%