我对MySQL中的表有疑问。
我目前正在创建一个网站,我可以在其中下载文件供人们下载。现在我想在MySQL中创建一个存储最新下载的表,比如有人下载file1.zip然后它会在表格中添加一行文件名和日期,这样我就可以在首页上显示“最近下载的文件“或类似的东西。
因为我只需要显示5-10个项目,所以我不需要在表格中存储更多内容。 所以我想知道的是,是否可以设置表中可以有多少行的最大限制。就像它设置为10并且表中有10个条目一样,下次它尝试添加一个时它会自动删除最旧的一个,所以表中总是只有10行。
答案 0 :(得分:3)
查看triggers以自动删除旧行。
答案 1 :(得分:1)
这可以通过使用触发器(需要MySQL 5)或设置cron作业或类似的东西来解决,它会定期检查表中的行数。
答案 2 :(得分:0)
我认为你不能设置MySQL自动执行它(虽然我的MySQL不完全是guru级别,所以我可能在那里错了)所以我认为你可能需要做的是创建一个INSERT触发器来DELETE在执行INSERT之前最早的行,或编写应用程序以使其始终在INSERT之前运行DELETE。
答案 3 :(得分:0)
为表提供一个时间戳列,不要插入新行,用最旧的时间戳替换行。