2012-01-08 72 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

相关问题