我需要一种方法来获取分配给我的自动递增编号,该编号从1开始,到9999,然后回滚到1。每次调用此过程时,我都需要它来给我一个下一个编号。我不需要任何其他存储。基本上,如果SQL可以做到,那就太好了,否则,我将不得不使用文件或其他东西来存储上次使用的数字,或者为此目的必须创建一个SQL表。
答案 0 :(得分:0)
一个想法是只使用一个auto_increment
值:
create table n (n int auto_increment primary key);
insert into n values (default);
select last_insert_id() % 1000;
如果表中的旧位太旧,则可以定期删除。
替代方案是触发器,这似乎更简单。
答案 1 :(得分:0)
为什么不更改列本身并将其设置为自动增量
Alter table modify column int
AUTO_INCREMENT