2017-08-07 40 views
-1

最近我從AWS S3切換到CloudFront。但我的數據庫有問題。舊的URL仍然存在。MySQL如何僅替換URL並保留文件名

正如圖片所示:

enter image description here

什麼是正確的SQL查詢到S3的URL更改爲的Cloudfront並保持文件名?

實施例:

replace http://s3-us-west-2.amazonaws.com/2sale/1502039625_467b81ba-2dea-4572-ad47-c021fe13de67.jpg 

to 
https://XXXX.cloudfront.net/1502039625_467b81ba-2dea-4572-ad47-c021fe13de67.jpg 

對於所有IMAGE_URL行。

+0

這一個存在數據庫URL我只需要一個查詢,這個問題關於在發佈到S3時需要更改爲CloudFront。那些是不同的。 –

回答

2

您可以使用MySQL取代:

UPDATE your_table 
SET your_field = REPLACE(your_field, 'http://s3-us-west-2.amazonaws.com/2sale/', 'https://XXXX.cloudfront.net/') 
WHERE your_field LIKE 'http://s3-us-west-2.amazonaws.com/2sale/%' 

參考:https://www.electrictoolbox.com/mysql-find-replace-text/

+0

謝謝你的作品像魅力。 –

0

嘗試使用Search and replace

語法

UPDATE `table_name` 
SET `field_name` = replace(same_field_name, 'unwanted_text', 'wanted_text') 

你的情況

UPDATE `table_name` 
    SET `field_name` = replace(image_url, 'http://s3-us-west-2.amazonaws.com/2sale/', 'https://XXXX.cloudfront.net/') 

您還可以添加WHERE條件,如果要替換隻有特定的記錄值