需要在SQL中进行简单的查找/替换

时间:2013-11-05 09:13:51

标签: mysql sql phpmyadmin

我需要对192行进行非常重要的数据库字符串更正,我想知道这是否是正确的语法:

UPDATE `DATABASE_NAME`.`TABLE_NAME` SET `FIELD_NAME` = REPLACE(`FIELD_NAME`,`REPLACE_THIS_STRING`,`WITH_THIS_STRING`);

提前致谢!

2 个答案:

答案 0 :(得分:2)

最好的方法是首先将其写为SELECT语句,以“预览”结果。

SELECT field_name As before
     , Replace(field_name, 'replace this string', 'with this string') As after
FROM   table_name

可选WHERE子句(仅影响包含替换字符串的行):

...
WHERE  field_name LIKE '%replace this string%'

答案 1 :(得分:0)

好吧,我会像这样写

UPDATE `DATABASE_NAME`.`TABLE_NAME` SET `FIELD_NAME` = 
REPLACE(`FIELD_NAME`,`REPLACE_THIS_VALUE`,`WITH_THIS_VALUE`);

表格只包含这192行吗?否则,您必须在语法中添加WHERE。或者它会更新所有FIELD_NAME行。

正如@gvee建议的那样,首先尝试选择行,看看结果如何确保更新范围正确