我想这样做。

update cart set productname='hey' where cartid=(select max(cartid) from cart)


但是,sql显示错误,其中表'cart'被定义了两次。我该如何解决?

最佳答案

在MySQL中,可以将updatelimit结合使用:

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,并且您希望全部更新,这将特别有用。

关于mysql - 更新同一表中的最大值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38544340/

10-13 04:54