Answers:
更改table_name
并field
匹配您的表名和相关字段:
UPDATE table_name SET field = REPLACE(field, 'foo', 'bar') WHERE INSTR(field, 'foo') > 0;
WHERE instr(field, 'foo') > 0;
它会更快(因此它将不会执行2次搜索)...我错了吗?
WHERE
子句的UPDATE
所有行都应执行...
UPDATE table_name
SET field = replace(field, 'string-to-find', 'string-that-will-replace-it');
UPDATE table SET field = replace(field, text_needs_to_be_replaced, text_required);
例如,如果我想用Mark代替所有出现的John,我将在下面使用,
UPDATE student SET student_name = replace(student_name, 'John', 'Mark');
如果您想根据另一个字段的值进行搜索和替换,可以执行CONCAT:
update table_name set `field_name` = replace(`field_name`,'YOUR_OLD_STRING',CONCAT('NEW_STRING',`OTHER_FIELD_VALUE`,'AFTER_IF_NEEDED'));
只是为了将它放在这里,以便其他人立即找到它。
[field_name]
,“ foo”,“ bar”);