2016-10-27 11 views
1

私は、次のMySQLデータMySQLは文字列の一部に基づいて文字列全体を置き換えますか?

  1. USERFILES /ユーザー/ JohnSmith/2013_Thanksgiving_Final.jpg
  2. USERFILES /ユーザー/ JaneJohnson/2013_Thanksgiving_Final.jpg
  3. USERFILES /ユーザー/ BobbyLee/2013_Thanksgiving_Final.jpg
  4. を持っていると仮定

変更する方法はありますか?

  1. globalfiles/2016_Thanksgiving_Final.jpg
  2. globalfiles/2016_Thanksgiving_Final.jpg
  3. globalfiles/2016_Thanksgiving_Final.jpg

私はこのような何かを考えていましたか?

UPDATE user__attributes SET value = REPLACE(value, REGEXP '2013_Thanksgiving_Final', 'globalfiles/2016_Thanksgiving_Final.jpg') WHERE value LIKE '%2013_Thanksgiving_Final%'; 

私はREGEXPを使用した場合、それは交換することのほんの一部をオフに基づいて、文字列全体を、標的と考えていましたか?私はこれを試みて間違いを投げたが。

ありがとうございます!

+0

を使用する必要がありますか? – scaisEdge

答えて

1

既存のファイルでglobalfilesを追加したい場合は、正規表現は必要ありませんが、あなたはglobalfiles/2016_Thanksgiving_FinalとUSERFILES /ユーザー/ */2013_Thanksgiving_Final.jpgを置き換えたい場合 は単に

UPDATE user__attributes 
SET value = REPLACE(value, '2013_Thanksgiving_Final.jpg', 'globalfiles/2016_Thanksgiving_Final.jpg') 
WHERE value LIKE '%2013_Thanksgiving_Final%'; 

を置き換える名前を付けます。 JPGあなたは2013_Thanksgiving_Final.jpgがあるすべてのユーザーのためのgloblfilesで「yserFiles /ユーザー/ JohnSmith一部を除去/及びrepalceたい

UPDATE user__attributes 
SET value = globalfiles/2016_Thanksgiving_Final.jpg 
WHERE value LIKE '%2013_Thanksgiving_Final%'; 
+0

ああ、私はそれについてすべて間違っていた、助けてくれてありがとう! – myaddresstoday

関連する問題