gpt4 book ai didi

php - Mysql 更新最大值(value)

转载 作者:行者123 更新时间:2023-11-29 09:06:41 25 4
gpt4 key购买 nike

我喜欢做这样的事情:

UPDATE articles
SET live = 1
WHERE aid=3
ORDER BY created DESC
LIMIT 1

最新的文章应该是实时的。这在我的小型 CMS 中经常需要。但此查询返回错误:

#1221 - Incorrect usage of UPDATE and ORDER BY

UPDATE查询中是否不允许使用ORDER BY或LIMIT?

我尝试使用子查询:

UPDATE articles
SET live=1
WHERE id= (SELECT id FROM articles WHERE aid=3 ORDER BY created DESC LIMIT 1)

但这也是不允许的...您不能在一个查询中的 UPDATE 和 SELECT 查询中使用同一个表...

解决办法是什么?我不想创建 TMP 表,因为这需要经常完成。是否需要 PHP 解决方法?

最佳答案

它只是简单地工作,唯一的限制是您只能在更新中使用单个表,而不能使用多个表(联接等)。请参阅the docs 。如果您非常需要多表语句,则可以使用 LEFT JOIN 到同一个表来仅选择没有更大“已创建”值的行,前提是您有一个不可为空的列。

关于php - Mysql 更新最大值(value),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6852441/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com