Mysql表自增步长问题
测试时经常需要构造数据,当对mysql表批量插入数据时,遇到问题:表中字段id是主键,批量插入数据时需要先查看max(id),然后再insert语句中对每个id值依次按步长添加且要大于库里最大值。这样构造起来比较麻烦。
分析:检查mysql表是否存在主键,是否设置主键自动增加;
show create table t_insight_high_value_classify;
查看主键自增步长:
SHOW VARIABLES LIKE ‘auto_inc%’;
自增值机制:
如果字段id被定义为AUTO_INCREMENT,在插入一行数据的时候,自增值的行为如下:
1.如果插入数据时id字段指定为0、null或未指定值,那么就把这个表当前的AUTO_INCREMENT值填到自增字段
2.如果插入数据时id字段指定了具体的值,就直接使用语句里指定的值
这种情况下insert语句只需要避开主键insert即可