我需要对192行进行非常重要的数据库字符串更正,我想知道这是否是正确的语法:
UPDATE `DATABASE_NAME`.`TABLE_NAME` SET `FIELD_NAME` = REPLACE(`FIELD_NAME`,`REPLACE_THIS_STRING`,`WITH_THIS_STRING`);
提前致谢!
答案 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建议的那样,首先尝试选择行,看看结果如何确保更新范围正确