[mysql] 문자열의 일부를 대체하여 열 값 업데이트

MySQL 데이터베이스에 다음 열이있는 테이블이 있습니다.

[id, url]

그리고 URL은 다음과 같습니다

 http://domain1.com/images/img1.jpg

모든 URL을 다른 도메인으로 업데이트하고 싶습니다

 http://domain2.com/otherfolder/img1.jpg

파일 이름을 그대로 유지하십시오.

어떤 쿼리를 실행해야합니까?



답변

UPDATE urls
SET url = REPLACE(url, 'domain1.com/images/', 'domain2.com/otherfolder/')


답변

UPDATE yourtable
SET url = REPLACE(url, 'http://domain1.com/images/', 'http://domain2.com/otherfolder/')
WHERE url LIKE ('http://domain1.com/images/%');

관련 문서 : http://dev.mysql.com/doc/refman/5.5/en/string-functions.html#function_replace


답변

REPLACE 기능을 사용해보십시오 .

mysql> SELECT REPLACE('www.mysql.com', 'w', 'Ww');
        -> 'WwWwWw.mysql.com'

대소 문자를 구분합니다.


답변

WHERE 절의 조건을 준수하는 레코드 (모든 레코드와 대조적으로) 바꾸 려면 WHERE 절이 필요합니다 . % 기호를 사용 하여 부분 문자열을 나타냅니다. IE

LIKE ('...//domain1.com/images/%');

수단 모든 레코드 BEGIN"...//domain1.com/images/"아무것도의 AFTER를합니다 (의 그 %에 대한 …)

다른 예시:

LIKE ('%http://domain1.com/images/%')

이는 다음을 포함하는 모든 레코드를 의미합니다 "http://domain1.com/images/"

문자열의 어느 부분에서나


답변

이 시도…

update [table_name] set [field_name] =
replace([field_name],'[string_to_find]','[string_to_replace]');


답변

먼저 확인해야합니다

university코스 이름이 ‘% & amp %’인 곳 에서 선택 *

다음으로 업데이트해야합니다

업데이트 대학 설정 course_name = REPLACE (course_name, ‘& amp’, ‘&’) id = 1

결과 : 엔지니어링 및 기술 => 엔지니어링 및 기술


답변