394

MySQL データベースに次の列を持つテーブルがあります

[id, url]

URLは次のようになります。

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

すべての URL を別のドメインに更新したい

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

ファイル名はそのまま。

実行する必要があるクエリは何ですか?

4

6 に答える 6

835
UPDATE urls
SET url = REPLACE(url, 'domain1.com/images/', 'domain2.com/otherfolder/')
于 2012-04-16T15:39:09.120 に答える
198
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

于 2012-04-16T15:39:15.427 に答える
30

REPLACE 関数を使用してみてください:

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

大文字と小文字が区別されることに注意してください。

于 2012-04-16T15:40:04.683 に答える
9

(すべてのレコードではなく) WHERE 句の条件に一致するレコードのみを置き換えるには、 WHERE句が必要です。%記号を使用して、部分的な文字列を示します: IE

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

BEGIN"...//domain1.com/images/"あり、AFTER があるすべてのレコードを意味します(これが%for...)

もう一つの例:

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

を含むすべてのレコードを意味します。"http://domain1.com/images/"

文字列のどの部分でも...

于 2014-11-24T23:27:19.813 に答える