gpt4 book ai didi

mysql - 删除行所以我有一个最大行限制

转载 作者:可可西里 更新时间:2023-11-01 07:24:15 24 4
gpt4 key购买 nike

这是我试图在查询中解释的内容

DELETE FROM table ORDER BY dateRegistered DESC LIMIT 1000 *

我想在我已经设计好的脚本中运行这样的查询。每次找到第 1001 条或以上的旧记录时,它都会删除

有点像设置最大行大小但删除所有旧记录。

实际上有一种方法可以在 CREATE 语句中进行设置。

因此:如果我在数据库中有 9023 行,当我运行该查询时,它应该删除 8023 行并留给我 1000 行

最佳答案

如果您有一个唯一的行 ID,这是理论上正确的方法,但它不是很有效(即使您在 dateRegistered 列上有索引也是如此):

DELETE FROM table
WHERE id NOT IN (
SELECT id FROM table
ORDER BY dateRegistered DESC
LIMIT 1000
)

我认为直接按日期而不是行数限制 DELETE 会更好。

我认为没有办法在 CREATE TABLE 语句中设置它,至少不是可移植的。

关于mysql - 删除行所以我有一个最大行限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2104548/

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