2013-12-24 22 views
0

我有一個數據庫,其中包含許多要重命名的圖像條目。假設所有圖像的名稱都是Something_X其中X是一個數字,這是在我的數據庫的一個名爲「名稱」的列中。數據庫中有2列具有原始文件大小,稱爲「original_width」和「original_height」。我想改變「名稱」中的所有條目,它仍然有原始的,但它將原始大小添加到它,以便「Something_X」變成「Something_X_widthxheight」,這是可能的,我將如何使用PHP我的管理員在一個最好使用SQL代碼的簡單方法。根據其他MySQL列重命名/更改條目

+0

請添加代碼嘗試,給我們的樣品的工作,沒有人會工作有了這個。 – Ljubisa

+0

並添加樣本數據和期望的結果。 –

+0

**數據庫示例的圖像:** https://www.dropbox.com/s/wkhk7bo6zbil7cz/Untitled.png 我沒有代碼示例,因爲我不知道從哪裏開始,basiclly我想更新該列表名稱。例如在我的名爲「images」的數據庫中,我想取消更新名稱,比如說,在一個名爲collumn的圖像的一個圖像中,名爲「Tohou_27」的圖像具有原始的「寬度」和「高度」 1920x1200,我希望這個名字被更新,所以它變成了「Tohou_27_1920x1200」而不是原來的名字。 – user2406918

回答

1
UPDATE <yourTableName> 
SET name = CONCAT(name,'_',original_width,'x',original_height); 

只更新尚未更新的行,你可以使用下面的(sqlFiddle

UPDATE yourTable 
SET name = CONCAT(name,'_',original_width,'x',original_height) 
WHERE name NOT LIKE CONCAT('%\_',original_width,'x',original_height); 
+0

非常感謝你! :D是否有可能在某種程度上適應這個不更新表已經改變,以便如果我添加更多的壁紙後再次運行它不會再添加到已經改變的那些?也許可以通過添加一個欄目來檢查它是否被更改或者是什麼? – user2406918

+0

@ user2406918,檢查我答案的底部,它只會更新那些沒有被更改的行,以_ x 結尾。 –