2012-01-08 17 views
1

我喜歡更新我的表「imagedata」的最後一個條目的字段「文件路徑」?UPDATE字段的最後一項SQL

UPDATE `imagedata` SET `filepath`='sdsd' WHERE `id` = MAX(imagedata.id); 

不知怎的,我的synax IST不正確的IT說: enter code here無效使用組功能的

我該怎麼辦錯了嗎?

回答

1

如果你使用一個AUTO_INCREMENT列,你可以嘗試

UPDATE `imagedata` SET `filepath`='sdsd' WHERE `id` = LAST_INSERT_ID(); 
+0

中的更新我不認爲這是很好的建議。 – 2012-01-13 11:29:26

+0

@ypercube怎麼回事? – 2012-01-13 11:30:08

+0

如果你有兩個或更多的auto_increment表,你認爲'LAST_INSERT_ID()'會返回什麼結果? – 2012-01-13 11:32:43

4
UPDATE `imagedata` 
SET `filepath`='sdsd' 
order by id desc limit 1 

另一種選擇:

UPDATE `imagedata` 
SET `filepath`='sdsd' 
where id = (select * from (select max(id) from imagedata) as t) 
+0

firts作品之一! greate :)第二個也適用。我有它喜歡更新'imagedata' 設置'filepath' ='sdsdffff' 其中id =(從imagedata選擇max(id))之前,但不這樣做它說:你不能指定目標表'imagedata'爲FROM條款 – Don 2012-01-08 16:40:58

相關問題