MySQL 列属性-自动增长

自动增长:

为每条记录提供一个唯一的标识。

每次插入记录时,将某一个字段的值自动增加1

语法:

Auto_increment

 

使用要求,

1.必须是使用整型

2.有索引(例如,主键)

3.此外,在insert时可以选择是否插入null,可以省去输入字段名

而主键不能为空,因而null也没有实际作用。

 

Id 自增规则:

insert的值中 t_id 没有设置值(默认值),t_id将从最大的存在值开始自增

例如(已经有t_id=2,t_id=5,此时若输入一个默认值,得到t_id=6

insert的值中t_id有设置固定的值,重复且是主键则不能插入,否则,按插入的t_id

大小插入所有记录中,而不一定排在最后;

 

可以设置自动增长的初始值,默认是1

通过修改表选项

Alter table表名称auto_increament n;

如过n小于已有值,则忽略此次操作。

 

语句是否可以更新?

答案是可以的。

Update 表名称 set 字段=where 条件。

 

show databases;
use php_one;
create table t8(
t_id int primary key auto_increment,
t_name varchar(10),
class_name varchar(5),
days tinyint unsigned
);

insert into t8 values(null,'han','0332',32);    
select * from t8;                               /*id仍然显示 :1*/

insert into t8 values(5,'han','0332',32);
select * from t8;                               /*id显示 :5*/

insert into t8 (t_name,class_name,days) values ('han','0332',31);
select * from t8;                               /*id显示:6*/

insert into t8 values (2,'han','0332',31);
select * from t8;                               /*id显示:2,并且排列在第二行*/

insert into t8 (t_name,class_name,days) values ('han','0332',31);
select * from t8;                               /*id显示:7*/

create table t82(
t_id int primary key auto_increment,
t_name varchar(10),
class_name varchar(5),
days tinyint unsigned
);

insert into t82 (t_name,class_name,days) values ('han','0332',31);
select * from t82;                              /*id显示:1*/

insert into t82 values(null,'han1','0325',54);
select * from t82;

insert into t82 values(20,'han1','0325',55);
select * from t82;

update t82 set t_id=21 where days=31;        /*修改成功*/
select * from t82;

alter table t82 auto_increment 10;    /*显示成功*/
insert into t82 values(null,'han1','0325',23);
select * from t82;                     /*但是没有实际的作用*/




alter table t82 auto_increment 20;
delete from t82 where t_id>20;
insert into t82 values(null,'han1','0325',83);
select * from t82;                      /*此时虽然21,22删除了,但是仍然显示23*/



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值