mysql+去除列的自增长,MySQL列属性之自增长

322e6a9e4e0fb9f0468541c2b8bc10d1.png

点击上方蓝字关注"程序员Bob"

64814c10a7f89ae189111ebdf6fe1dd7.png

你对我的百般注解和识读,并不构成万分之一的我,却是一览无遗的你自己。

——三毛

95e7a4932fdb7cb157df1d1186ac0379.png

杂谈

在网上看见关于一首歌的评论,共勉:十年前,你周围的人会根据你父母对待你。十年后,你周围的人会根据你对待你的父母和你的孩子!没有不弯的路,没有不谢的花。通往成功的路不会平坦宽阔,实现自已的梦想不会一帆风顺,人生不如意十有八九,但这些都是暂时的。花开花落,潮起潮落,一切都会有终结的!

歌曲为:《路》-藤竹京

自增长

自增长:当对应的字段不给值(NULL)或者给默认值时,该字段会自动的被系统触发,系统会从当前字段中已有的最大值再进行+1操作,得到一个新的在不同的字段。

自增长通常是跟主键搭配。

新增自增长

任何一个字段要做自增长必须前提是本身是一个索引(key一栏有值)。

自增长字段必须是数字(整型)

一张表最多只能有一个自增长,和主键一起搭配。

关于相关新建自增长表语句:

create table my_auto(id int auto_increment comment'自动增长',name varchar(10) not null)charset utf8;-- 错误,create table my_auto(id varchar(1) primary key auto_increment comment'自动增长',name varchar(10) not null)charset utf8;-- 错误create table my_auto(id int primary key auto_increment comment '自动增长',name varchar(10) not null)charset utf8;-- 正确

自增长使用

当自增长被给定的值为NULL,或者默认值的时候会触发自动增长。

相关自增长使用的语句:

#触发自增长insert into my_auto(name) values('小君');insert into my_auto values(null,'小黑');insert into my_auto values(default,'小白');-- 指定数据insert into my_auto values(6,'小coco');insert into my_auto values(null,'小C');

查看运行结果:

8c368557a1e91e16c7c4465562769547.png

如上图运行结果可知:

1.自增长起始为1,且每次加1。

2.自增长如果对应的字段输入了值,那么自增长失效,但是下一次还是能够正确的自增长,即值加1。

修改自增长

自增长如果是涉及到字段改变,则必须先删除自增长,后增加,因为一张表有且只能有一个自增长。

修改当前自增长已经存在的值:修改只能比当前已有的自增长的最大值大,不能小,否则不会生效。

语句形式:alter table 表名 auto_increment = 值;

示例:

-- 修改表选项的值alter table my_auto auto_increment =4; -- 向下修改alter table my_auto auto_increment =10; -- 向上修改

向下修改:

a50ebe3208334106d2bcb544740a344d.png

向上修改:

f1c0c829443a2addb5eb8fac02a66066.png

从底层原理来讲:为啥自增长是从1开始而不是0呢?以及为什么每次都是自增1呢?

To:所有系统的表现(如字符集,校对集)都是由系统内部的变量进行控制的。

查看自增长对应的变量:show variables like 'auto_increment%';

如下:第一个为步长;第二个为起始值。

f40dfd0e5a4a7310e5a5b7d123229c8d.png

可以修改变量实现不同的效果:修改是针对整个数据修改,而不是单张表(修改是会话级)

语句形式:set auto_increment_increment=5;  — 一次修改5

删除自增长

自增长是字段的一个属性:可以通过modify来进行修改(保证字段没有auto_increment即可)

语句形式:alter table 表名 modify 字段 类型;

0c06af7d25650acc867a2de1de8bc689.png

85d8db58ad4bf4d8b743c07d79972905.png

往期推荐:

为你,千千万万遍.

关注程序员Bob公众号,与你一起终生学习

一键三连,就差你了

0223ab957388c8d0b60d555a9db8babe.png

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值