如果我们从MySQL表中删除行,并且如果存在一些自动增量列,则插入后将按最后一个值继续递增。也就是说,如果最后一个值为1000,删除后,增量值将为1001。
但是,如果我希望它在每次插入之前根据max id递增该列(例如id)。我知道可以通过设置:
来实现public class MyClass {
private int count;
private List<MyOtherClass> values;
get*()
set(*)
}
public class MyOtherClass {
private String id;
private String title;
private String type;
get*()
set(*)
}
手动,但每次删除后或插入前都应调用此sql。
在MySQL表中我只是插入元素并将它们提取到ALTER TABLE `tableName` AUTO_INCREMENT = MAX(`ID`) + 1
,我只需要按照一定的间隔获取数据。
获得相应的id要远远超过限制。
e.g。
java.util.List
比
快得多SELECT * FROM `TABLE_NAME` WHERE ID >=START AND ID <=END
获得表格的大小比SELECT * FROM `TABLE_NAME` LIMIT START, (END-START)
MAX(ID)
修改
关于删除,我只删除表末尾的行或其他来自应删除的id(包括)的行,以便在删除后COUNT(*)
和MAX(ID)
相等。
问题是:有没有办法在MySQL中设置“自动”顺序AUTO_INCREMENT?