我需要设置MySQL表中的最大行数限制。文档告诉我们,可以使用以下SQL代码来创建表:
CREATE TABLE `table_with_limit`
`id` int(11) DEFAULT NULL
) ENGINE=InnoDB MAX_ROWS=100000但是MAX_ROWS属性并不是一个硬限制(“存储不超过100000行,删除其他行”),而是对数据库引擎的一个提示,即这个表将至少有100000行。
我看到的解决这个问题的唯一可能的方法是使用BEFORE INSERT触发器,它将检查表中的行数并删除较旧的行。但我很确定这是一个巨大的过热:/
另一种解决方案是使用cron脚本每隔N分钟清空一次表。这是一种最简单的方法,但它仍然需要注意另一个系统。
谁知道更好的解决方案?:)
发布于 2011-11-08 17:47:51
发布于 2011-11-08 18:24:20
发布于 2011-11-08 17:06:53
在MySQL中,没有办法限制表的最大行数,除非您编写触发器来执行此操作。
https://stackoverflow.com/questions/8048001
复制相似问题