批次更新MySQL URL:只替換網域名稱和路徑部分
本文介紹如何使用MySQL的REPLACE函數修改資料庫表中的URL,只替換網域名稱和路徑部分,保留檔案名稱。
問題:
假設有一個MySQL表,包含id
和url
兩列,url
列包含類似"http://domain1.example/images/img1.jpg"的URL。如何將所有URL更新為"http://domain2.example/otherfolder/img1.jpg",同時保留檔名?
答案:
執行下列SQL語句即可完成更新:
<code class="language-sql">UPDATE urls SET url = REPLACE(url, 'domain1.example/images/', 'domain2.example/otherfolder/')</code>
解釋:
UPDATE urls
語句指定要修改的表名為urls
。 SET url = ...
語句指定更新url
列。 REPLACE(url, 'domain1.example/images/', 'domain2.example/otherfolder/')
函數用來取代URL的一部分。 REPLACE
函數的第一個參數是原始URL字串。 REPLACE
函數會在每個URL值中尋找指定的子字串,並將其替換為新的子字串,從而保留檔案名稱。 透過此方法,您可以有效地更新資料庫中大量的URL,只修改指定的網域名稱和路徑部分,而不會影響檔案名稱。
以上是如何更新 MySQL URL 僅替換網域和路徑段?的詳細內容。更多資訊請關注PHP中文網其他相關文章!