0
我想这样做。更新值来自同一表的最大值
update cart set productname='hey' where cartid=(select max(cartid) from cart)
但是,sql显示错误,其中表'cart'被定义两次。我如何解决这个问题?
我想这样做。更新值来自同一表的最大值
update cart set productname='hey' where cartid=(select max(cartid) from cart)
但是,sql显示错误,其中表'cart'被定义两次。我如何解决这个问题?
在MySQL中,你可以使用update
与limit
:
update cart
set productname = 'hey'
order by id desc
limit 1;
您可以查看文档here。
如果你要计算的值,你可以使用一个join
:
update cart c join
(select max(id) as maxid from card) cc
on c.id = cc.maxid
set productname = 'hey';
这将是特别有用的,如果多行能有最大的ID和你想要的所有更新。
神圣的废话谢谢!你拯救了我的两次生命!你是sql的主人!但是,似乎连接方法不适合我。但限制方法效果很好!无论如何非常感谢! :) – Marcus