MySQL中的自动增长

hello,大家好,我是你们的怪味老王,今天我们简单的说说自动增长

  • 自动增长的作用:
    问题:为数据表设置主键约束后,每次插入记录时,如果插入的值已经存在,会插入失败。
    如何解决:为主键生成自动增长的值。
  • 自动增长的语法:
    字段名 数据类型 AUTO_INCREMENT;

使用须知:
1.一个表中只能有一个自动增长字段;
2.该字段的数据类型是整数类型;
3.必须定义为键,如 UNIQUE KEY、 PRIMARY KEY;
4.若为自动增长字段插入NULL、0、 DEFAULT或在插入时省略该字段,该字段就会使用自动增长值;
5.若插入的是一个具体值,则不会使用自动增长值;
6.自动增长值从1开始自增,每次加1
7.若插入的值大于自动增长的值,则下次插入的自动增长值会自动使用最大值加1;
8.若插入的值小于自动增长值,则不会对自动增长值产生影响;
9.使用 DELETE删除记录时,自动增长值不会减小或填补空缺.

自动增长使用示例:

--自动增长使用演示
Create Table my_auto(
id Int Unsigned Primary Key Auto_Increment,
username Varchar(20)
);
#查看
DESC my_auto;

在这里插入图片描述
自动增长使用演示:

#插入时省略id字段,将会使用自动增长值
Insert Into my_auto(username) Values('a');
#为id字段插入null,将会使用自动增长值
Insert Into my_auto Values(Null,'b');
#为id字段插入具体值6
Insert Into my_auto Values(6,'c');
#为id字段插入0,使用自动增长值
Insert Into my_auto Values(0,'d');
#查看
Select * From my_auto;

在这里插入图片描述
查看自动增长值:

#查看自动增长值
Show Create Table my_auto;

为现有的表修改或删除自动增长:

#修改自动增长值
Alter Table my_auto Auto_Increment=10;
#删除自动增长值
Alter Table my_auto Modify id Int Unsigned;
#重新为id添加自动增长值
Alter Table my_auto Modify id Int Unsigned Auto_Increment;

注意:
1.自动增长删除并重新添加后,自动增长的初始值会自动设为该列现有的最大值加1;
2.在修改自动增长值时,修改的值若小于该列见有的最大值,则修改不会生效。

欢迎大家评论~
啾咪~

  • 15
    点赞
  • 66
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值