我需要对 192 行进行非常重要的数据库字符串更正,并且想知道这是否是正确的语法:
UPDATE `DATABASE_NAME`.`TABLE_NAME` SET `FIELD_NAME` = REPLACE(`FIELD_NAME`,`REPLACE_THIS_STRING`,`WITH_THIS_STRING`);
提前致谢!
我需要对 192 行进行非常重要的数据库字符串更正,并且想知道这是否是正确的语法:
UPDATE `DATABASE_NAME`.`TABLE_NAME` SET `FIELD_NAME` = REPLACE(`FIELD_NAME`,`REPLACE_THIS_STRING`,`WITH_THIS_STRING`);
提前致谢!
找出答案的最好方法是先把它写成一个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%'
好吧,我会这样写
UPDATE `DATABASE_NAME`.`TABLE_NAME` SET `FIELD_NAME` =
REPLACE(`FIELD_NAME`,`REPLACE_THIS_VALUE`,`WITH_THIS_VALUE`);
该表是否仅包含这 192 行?否则,您必须WHERE
在语法中添加 a。否则它将更新所有 FIELD_NAME 行。
正如@gvee 建议的那样,首先尝试选择行并查看结果如何确保更新范围正确