是否可以设置表可以在MySQL中容纳的行数? 我不想使用任何java代码。我想用纯mysql脚本来做这件事。
答案 0 :(得分:3)
我不建议尝试限制SQL表中的行数,除非您有充分的理由这样做。看起来你最好使用像这样的查询:
select top 1000 entityID, entityName from TableName
而不是物理限制表的行。
但是,如果你真的想把它限制在1000行:
delete from TableName where entityID not in (select top 1000 entityID from TableName)
答案 1 :(得分:0)
Mysql在创建(并可能改变?)表时支持MAX_ROWS参数。 http://dev.mysql.com/doc/refman/5.0/en/create-table.html
编辑:遗憾的是,这只是一个优化提示
“您计划在表中存储的最大行数。这不是硬限制,而是存储引擎的提示,表必须能够存储至少这么多行。”
..你的问题暗示脚本没问题;制作一个像cron作业一样简单,经常将表格行放在给定ID之上是不是很荒谬?当某些东西试图添加一行太多时,它就不会像使用mysql抛出错误一样优雅,但是它可以完成这项工作 - 你也可以让你的应用程序检查它的ID是否也是高,并向用户/相关方发出警告。