mysql基础(14)_列属性之auto_increment

本文介绍了MySQL中的自动增长属性(auto_increment),用于在未指定数值时自动填充数据,常用于逻辑主键。详细讲解了自动增长的工作原理、使用方法、修改与删除操作,以及相关系统变量和细节问题。
摘要由CSDN通过智能技术生成

自动增长

自动增长:auto_increment,当给定某个字段该属性之后,该列的数据在没有提供确定数据的时候,系统会根据之前已经存在的数据进行自动增加,填充数据。

通常自动增长用于逻辑主键

自动增长的原理
1、在系统中有维护一组数据,用来保存当前使用了自动增长属性的字段,记住当前对应的数据值,再给定一个指定的步长
2、当用户进行数据插入的时候,如果没有给定值,系统在原始值上再加上步长变成新的数据
3、自动增长的触发,给定属性的字段没有提供值
4、自动增长只适用于数值

使用自动增长
基本语法:在字段之后增加一个属性 auto_increment

mysql> create table auto_incre(
    -> id int primary key auto_increment,
    -> name varchar(10) not null comment '用户名',
    -> password varchar(10) not null comment '密码'
    -> )charset=utf8;
Query OK, 0 rows affected (1.87 sec)

插入数据:null触发自动增长,不能给定具体值

mysql> insert into auto_incre values(null,'jack','123456');
Query OK, 1 row affected (0.35 sec)

mysql> select * from auto_incre;
+----+------+----------+
| id | name | password |
+----+------+----------+
|  1 | jack | 123456   |
+----+------+----------+
1 row in set (0.00 sec)

修改自动增长
1、查看自增长,自增长一旦触发使用之后,会自动的在表选项中增加一个选项,因此一张表最多只能拥有一个自增长。
2、表选项可以通过修改表结构来实现。
alter table 表名 auto_increment =值

mysql> alter table auto_incre auto_increment=9;
Query OK, 1 row affected (1.82 sec)
Records: 1  Duplicates: 0  Warnings: 0

mysql> show create table auto_incre;
+------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table      | Create Table                                                                                                                                                                                                                                     |
+------------+----------------------
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值