请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

主键 自增长 问题

  1. 数据库 中 表 主键 子增值的 问题,它的自增间隔 很奇怪,不是每次自增 1

图片描述
2. ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;中的AUTO_INCREMENT=1的含义是?
create table tb_user(
user_id int(10) NOT NULL AUTO_INCREMENT,
username varchar(32) DEFAULT NULL,
profile_img varchar(1024) DEFAULT NULL,
email varchar(1024) DEFAULT NULL,
gender varchar(2) DEFAULT NULL,
status int(2) NOT NULL DEFAULT ‘0’ COMMENT ‘0:禁止态;1:激活’,
user_type int(2) NOT NULL DEFAULT ‘1’ COMMENT ‘1:用户,2:店家,3:超级管理员’,
create_time datetime DEFAULT NULL,
last_edit_time datetime DEFAULT NULL,
PRIMARY KEY (user_id)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;

正在回答 回答被采纳积分+3

1回答

翔仔 2021-05-08 23:11:48

这两个问题是同一个吧,AUTO_INCREMENT=1 就是说步长每次+1    这个可以直接insert就知道了

1 回复 有任何疑惑可以回复我~
  • 提问者 zdm_stu #1
    是的 但是看数据库表的属性里面 有的表的 autoincrement并不是1
    
    我不理解为什么会这样
    
    每张表我都有设置步长为1,但是部分表并没有遵循这个配置
    
    所以 我对 autoincrement=1的作用产生了疑问:是从1开始增长?还是步长为1
    
    这也是为什么 我提了2个问题的原因
    
    超级疑惑
    回复 有任何疑惑可以回复我~ 2021-05-08 23:37:45
  • 提问者 zdm_stu #2
    我实际操作 插入数据时
    
    每次插入是按 autoicrement 的值来决定步长的
    
    但是真的不理解设置了步长为1,部分表有的为1有的不唯一的情况
    
    不知道是不是只有我是这种情况
    回复 有任何疑惑可以回复我~ 2021-05-08 23:40:17
  • 翔仔 回复 提问者 zdm_stu #3
    抱歉,这个地方解释错了,auto_increment=1是指从1开始auto_increment_increment=x 就是每次加x 具体可以看
    https://blog.csdn.net/qq_36186768/article/details/103568064
    回复 有任何疑惑可以回复我~ 2021-05-09 23:42:16
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信