我从数据库中获取数据。我希望每天我的id从1开始,插入每条记录后自动递增,但在一天结束后重置为零。从第二天开始。但我无法找到适当的解决方案。
答案 0 :(得分:1)
"reset" the auto-increment value有几种不同的方式。
如果自动增量列是标识符,那么最简单的方法可能是简单地截断表:
TRUNCATE TABLE table_name;
这当然会删除所有数据,但由于您要删除标识符,因此无论如何数据都不再有意义。 (如果那个不那么你就会想要更多地考虑这个问题,因为重新使用标识符是一个着名的坏主意。)
另一方面,如果自动增量不,则允许使用标识符和重复项,则手动重置该值应该有效:
ALTER TABLE table_name AUTO_INCREMENT = 1;
至于每天做其中任何一项,只需将每日cron
作业设置为午夜运行。或者,如果不这样做,如果您仅限于请求/响应Web应用程序,则在写入表时,您可以首先检查最后写入的记录是否与当天相同。如果不是,请重置自动增量。 (它不是最高效的方法,但在没有后台任务的情况下,它可以完成工作。)