답변:
테이블 이름과 해당 필드를 변경 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');
다른 필드의 값을 기반으로 검색하고 바꾸려면 CONCAT을 수행하십시오.
update table_name set `field_name` = replace(`field_name`,'YOUR_OLD_STRING',CONCAT('NEW_STRING',`OTHER_FIELD_VALUE`,'AFTER_IF_NEEDED'));
다른 사람이 한 번에 찾을 수 있도록 여기에 두십시오.
내 경험상 가장 빠른 방법은
UPDATE table_name SET field = REPLACE(field, 'foo', 'bar') WHERE field LIKE '%foo%';
INSTR()
방법은 두 번째로 빠른 및 생략 WHERE
모두 절하면 열이 인덱싱되지 않은 경우에도, 가장 느린입니다.
[field_name]
, "foo", "bar");