mysql?自增長(zhǎng)約束(auto_increment)的使用
1、概念
在Mysql中,當(dāng)主鍵為自增長(zhǎng)后,這個(gè)主鍵的值就不再需要用戶輸入數(shù)據(jù)了,而由數(shù)據(jù)庫(kù)系統(tǒng)根據(jù)定義自動(dòng)賦值。每增加一條記錄,主鍵會(huì)自動(dòng)以相同的步長(zhǎng)進(jìn)行增長(zhǎng)。
注意:自增長(zhǎng)約束通常與主鍵放在一起使用。
通過(guò)給字段添加auto_increment屬性來(lái)實(shí)現(xiàn)主鍵的增長(zhǎng)。
2、語(yǔ)法
字段名 數(shù)據(jù)類型 primary key auto_increment
3、操作
示例:
注意:自增長(zhǎng)約束默認(rèn)情況下主鍵的值時(shí)從1開(kāi)始的。
示例;
4、特點(diǎn)
(1)默認(rèn)情況下,auto_increment的初識(shí)值是1,每新增一條記錄,字段值會(huì)自動(dòng)加1
(2)一個(gè)表只能有一個(gè)字段使用auto_increment約束,且該字段必須有唯一索引,以避免序號(hào)重復(fù)(即為主鍵或主鍵的一部分)
(3)auto_increment約束的字段必須具備NOT NULL屬性。
(4)auto_increment約束的字段只能是整數(shù)類型。(TINYINT, SMALLINT, INT, BIGINT等)
(5)auto_increment約束字段的最大值受該字段的數(shù)據(jù)類型約束,如果達(dá)到上限,auto_increment就會(huì)失效。
5、指定自增字段初識(shí)值:
如果第一條記錄設(shè)置了該字段的初識(shí)值,那么新增加的記錄就會(huì)從這個(gè)初識(shí)值開(kāi)始自增。例如:如果表中插入的第一條記錄的id值設(shè)置為5,那么再插入記錄時(shí),id值就會(huì)從5開(kāi)始開(kāi)始往上增加。
(1)創(chuàng)建表時(shí)指定
例如:
create table t_user2( id int primary key auto_increment, name varchar(200) )auto_increment=100;
#往表t_user2中插入數(shù)據(jù)時(shí),id值會(huì)從100開(kāi)始。
示例:
(2)創(chuàng)建表之后指定
例如:
create table user( id int primary key auto_increment, name varchar(20) ); alter table user auto_increment=120;
示例;
(3)delete 和truncate在刪除后自增列的變化
1)delete數(shù)據(jù)之后,自動(dòng)增長(zhǎng)從斷電開(kāi)始。即:delete刪除數(shù)據(jù)之后,自增長(zhǎng)還是在最后一個(gè)值基礎(chǔ)上加1.
示例:
delete前:
delete后:
2)truancate數(shù)據(jù)之后,自動(dòng)增長(zhǎng)從默認(rèn)起始值開(kāi)始,即:truncate刪除之后,自增長(zhǎng)從1開(kāi)始。
示例:
truncate前:
truncate后;
總結(jié):
在有起始值的情況,delete刪除數(shù)據(jù)之后自增長(zhǎng)還是在最后一個(gè)值基礎(chǔ)上加1,而truncate刪除數(shù)據(jù)之后,自增長(zhǎng)從1開(kāi)始。
到此這篇關(guān)于mysql 自增長(zhǎng)約束(auto_increment)的使用的文章就介紹到這了,更多相關(guān)mysql 自增長(zhǎng)約束內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- MySQL自增鎖(Auto-Increment Lock) 的原理使用
- MySQL自增列解析(Auto_increment)
- MySQL中使用auto_increment修改初始值和步長(zhǎng)
- MySQL AUTO_INCREMENT 主鍵自增長(zhǎng)的實(shí)現(xiàn)
- 詳細(xì)聊聊MySQL中auto_increment有什么作用
- MySQL 序列 AUTO_INCREMENT詳解及實(shí)例代碼
- MySQL查詢和修改auto_increment的方法
- 解析mysql中的auto_increment的問(wèn)題
- 怎么重置mysql的自增列AUTO_INCREMENT初時(shí)值
- MySQL 設(shè)置AUTO_INCREMENT 無(wú)效的問(wèn)題解決
相關(guān)文章
MySQL配置文件my.cnf優(yōu)化詳解(mysql5.5)
這篇文章主要介紹了MySQL配置文件my.cnf優(yōu)化詳解,需要的朋友可以參考下2014-12-12mysql安裝navicat之后,出現(xiàn)2059,Authentication plugin及本地鏈接虛擬機(jī)docker,
這篇文章主要介紹了mysql安裝navicat之后,出現(xiàn)2059,Authentication plugin及本地鏈接虛擬機(jī)docker,遠(yuǎn)程鏈接服務(wù)器,需要的朋友可以參考下2020-06-06MySQL深入詳解delete與Truncate及drop的使用區(qū)別
對(duì)于drop、truncate和delete雖然簡(jiǎn)單,但是真要使用或者面試時(shí)候問(wèn)到還是需要有一定的總結(jié),下面這篇文章主要給大家介紹了關(guān)于mysql中drop、truncate與delete區(qū)別的相關(guān)資料,需要的朋友可以參考下2022-07-07mysql查詢語(yǔ)句通過(guò)limit來(lái)限制查詢的行數(shù)
這篇文章主要介紹了mysql查詢語(yǔ)句,通過(guò)limit來(lái)限制查詢的行數(shù),需要的朋友可以參考下2014-02-02