MySQL 쿼리를 통해 문자열의 일부만 업데이트하는 방법을 찾고 있습니다.
예를 들어 필드 값의 일부로 ‘string’을 포함하는 10 개의 레코드가있는 경우 (예 : ‘something / string’, ‘something / stringlookhere’, ‘something / string / etcetera’, ‘string’을 변경할 수있는 방법이 있습니까? ‘하나의 쿼리를 통해 각 행에 대해’anothervalue ‘로, 결과가’something / anothervalue ‘,’something / anothervaluelookhere ‘,’something / string / etcetera ‘가되도록’anothervalue ‘를 변경할 수있는 방법이 있습니까?
답변
나는 이것이 효과가 있다고 생각한다.
UPDATE table
SET field = REPLACE(field, 'string', 'anothervalue')
WHERE field LIKE '%string%';
답변
UPDATE `table` SET `field` = REPLACE(`field`, 'string', 'anothervalue')
답변
LIKE
연산자를 사용하여 관심있는 행을 찾고 REPLACE
함수를 사용하여 업데이트하십시오 .
예를 들면 :
UPDATE table_name SET field_name = REPLACE(field_name,'search','replace') WHERE field_name LIKE '%some_value%'
답변
이와 같은 것이 어떤 식 으로든 작동합니까?
update table_name
set column_name = replace(column_name, 'string%', 'string')
where column_name like '%string%'