2013-07-28 33 views
-1

我有以下MySQL表與MySQL數據庫條目更新文件名

+----------------+--------------------+ 
| ID   |  picture  | 
+----------------+--------------------+ 
|  10954  | picture/mypics.jpg | 
+----------------+--------------------+ 
|  10759  | picture/mypics2.jpg| 
+----------------+--------------------+ 

我需要在現有的文件名進行重命名,改名爲10954

的ID例如mypics.jpg我怎樣才能做到這一點?

感謝

+0

它們總是以'picture /'爲前綴嗎? – eggyal

+0

是的,這是圖片存儲的位置。他們都在目錄圖片中。所以picture/mypics.jpg是mypics.jp的路徑 – user2627133

回答

0
UPDATE `following mysql table` 
SET picture = CONCAT (
    SUBSTR (picture, 0, CHAR_LENGTH(picture) - LOCATE('/', REVERSE(picture)), 
    '/', 
    ID 
) 

這將替換從ID列中的值最後一個斜線之後的部分。據我所知,MySQL沒有函數來查找字符串中子字符串的最後一次出現,因此有趣的構造有CHAR_LENGTH,LOCATEREVERSE

有關詳細信息,請參閱MySQL String Functions

+0

你好,也許我還不夠清楚。我真正需要的是重命名實際文件,而不是更新mysql條目。所以基本上,我想改變現有文件的名稱(由列圖像表示爲列ID) – user2627133

+0

這不能用MySQL來完成。你必須尋找其他技術,比如shell腳本或者PHP。 – Oswald