MySQL的auto_increment自增和oracle等數據庫中的sequence是一個事理。
并且良多應用場景下都需要利用到獨一編號,并且這個編號需要按照我們的指心猿意馬的法則主動遞增,沒有反復。
接下來小編給大師介紹MySQL的auto_increment的根基特征和利用注重點。
打開Xshell,毗連辦事器并登岸到辦事器,輸入毗連到MySQL
建立測試表,并指心猿意馬字段為auto_increment,如下圖所示
create table test(
id int not null auto_increment primary key,
name varchar(10)
);
MySQL的auto_increment的根基特征;
1.test表的主動增加列可以insert手工插入,但若是插入的值是空或者是0,則現實插入的將會是主動增加之后的值,請看下圖
insert into test values(0,'zhanghui');
insert into test values(null,'liubei');
select * from test;
2.可以利用并經由過程alter table test auto_incremenrt=n語句來強制設置主動增加列的初始值。
例如利用如下語句強制設置自增加初始值
alter table test auto_incremenrt=4;
insert into test values(null,'guanyu');
3.我們利用last_insert_id()查詢當火線程下的最后插入記實所利用的值。
select last_insert_id();
4.一個表有且只能有一個auto_increment屬性,自增加列必需是索引
5.若是表中的auto_increment最年夜值被刪除,不會被重用。即會跳號
mysql> select * from test;
+----+------------+
| id | name |
+----+------------+
| 1 | zhanghui |
| 2 | liubei |
| 3 | guanyu |
| 5 | shjhsdshjd |
+----+------------+
4 rows in set (0.00 sec)
mysql> delete from test where id=5;
Query OK, 1 row affected (0.01 sec)
mysql>
mysql> insert into test values(null,'machao');
Query OK, 1 row affected (0.01 sec)
mysql> select * from test;
+----+----------+
| id | name |
+----+----------+
| 1 | zhanghui |
| 2 | liubei |
| 3 | guanyu |
| 6 | machao |
+----+----------+
4 rows in set (0.00 sec)
0 篇文章
如果覺得我的文章對您有用,請隨意打賞。你的支持將鼓勵我繼續創作!