gpt4 book ai didi

mysql - 限制表行数

转载 作者:行者123 更新时间:2023-11-29 14:26:15 25 4
gpt4 key购买 nike

如何在 MySQL 表中只存储 10 行?添加新行时应删除旧行,但仅当表有 10 行时才应删除。

请帮助我

最佳答案

您可以通过after insert来实现这一点触发器,删除最短日期所在的行。例如DELETE FROM myTable WHERE myTimestamp = (SELECT MIN(myTimestamp) FROM myTable) 但理论上可以删除多行,具体取决于更新的粒度。

您可以有一个递增序列,并且始终只删除该序列的最小值。

问题是你为什么要这样做?这是一个有点不寻常的要求。

一个基本示例(未验证/执行,我在这台特定机器上没有 mySQL)看起来像这样。

CREATE TRIGGER CycleOldPasswords AFTER INSERT ON UserPasswords FOR EACH ROW

set @mycount = SELECT COUNT(*) FROM UserPasswords up where up.UserId = NEW.UserId;

if myCount >= 10 THEN
DELETE FROM UserPasswords up where up.Timestamp = (SELECT min(upa Timestamp) FROM UserPasswords upa WHERE NEW.UserId = upa.UserId) AND NEW.UserId = up.UserId;
END
END;

关于mysql - 限制表行数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10911145/

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