gpt4 book ai didi

mysql - 在 mysql 中选择更新的行

转载 作者:搜寻专家 更新时间:2023-10-30 23:15:17 24 4
gpt4 key购买 nike

有没有简单的方法来选择更新的行?

我试图在每次读取行时存储时间戳,以便能够删除长时间未读取的数据。

首先我尝试先执行 SELECT 查询,甚至发现有点慢但简单的解决方案,如

 UPDATE foo AS t, (SELECT id FROM foo WHERE statement=1)q
SET t.time=NOW() WHERE t.id=q.id

但我还是想找到一个正常的方法来做到这一点。

我也认为先更新时间然后只选择更新的行应该容易得多,但我什至没有找到任何东西

最佳答案

对于 MySQL 中的单行 UPDATE,您可以:

UPDATE foo
SET time = NOW()
WHERE statement = 1
AND @var := id

@var := id 始终是TRUE,但是它将id 的值写入变量@var 之前 更新。然后你可以:

SELECT @var;

PostgreSQL 中,您可以使用 RETURNING clause .
Oracle 也有一个 RETURNING clause .
SQL-Server 有一个 OUTPUT clause .
但是 MySQL 没有这样的东西。

关于mysql - 在 mysql 中选择更新的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15034136/

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