使用MySQL的自动增量功能或存储过程

时间:2019-10-22 16:48:52

标签: mysql sql

我需要一种方法来获取分配给我的自动递增编号,该编号从1开始,到9999,然后回滚到1。每次调用此过程时,我都需要它来给我一个下一个编号。我不需要任何其他存储。基本上,如果SQL可以做到,那就太好了,否则,我将不得不使用文件或其他东西来存储上次使用的数字,或者为此目的必须创建一个SQL表。

2 个答案:

答案 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