mysql?自增長(zhǎng)約束(auto_increment)的使用
1、概念
在Mysql中,當(dāng)主鍵為自增長(zhǎng)后,這個(gè)主鍵的值就不再需要用戶輸入數(shù)據(jù)了,而由數(shù)據(jù)庫系統(tǒng)根據(jù)定義自動(dòng)賦值。每增加一條記錄,主鍵會(huì)自動(dòng)以相同的步長(zhǎng)進(jìn)行增長(zhǎng)。
注意:自增長(zhǎng)約束通常與主鍵放在一起使用。
通過給字段添加auto_increment屬性來實(shí)現(xiàn)主鍵的增長(zhǎng)。
2、語法
字段名 數(shù)據(jù)類型 primary key auto_increment
3、操作
示例:
注意:自增長(zhǎng)約束默認(rèn)情況下主鍵的值時(shí)從1開始的。
示例;
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í)值開始自增。例如:如果表中插入的第一條記錄的id值設(shè)置為5,那么再插入記錄時(shí),id值就會(huì)從5開始開始往上增加。
(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開始。
示例:
(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)從斷電開始。即:delete刪除數(shù)據(jù)之后,自增長(zhǎng)還是在最后一個(gè)值基礎(chǔ)上加1.
示例:
delete前:
delete后:
2)truancate數(shù)據(jù)之后,自動(dòng)增長(zhǎng)從默認(rèn)起始值開始,即:truncate刪除之后,自增長(zhǎng)從1開始。
示例:
truncate前:
truncate后;
總結(jié):
在有起始值的情況,delete刪除數(shù)據(jù)之后自增長(zhǎng)還是在最后一個(gè)值基礎(chǔ)上加1,而truncate刪除數(shù)據(jù)之后,自增長(zhǎng)從1開始。
到此這篇關(guān)于mysql 自增長(zhǎng)約束(auto_increment)的使用的文章就介紹到這了,更多相關(guān)mysql 自增長(zhǎng)約束內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
mysql中的join和where優(yōu)先級(jí)順序解讀
這篇文章主要介紹了mysql中的join和where優(yōu)先級(jí)順序解讀,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-03-03Windows系統(tǒng)下MySQL忘記root密碼的2種解決辦法
這篇文章主要介紹了Windows系統(tǒng)下MySQL忘記root密碼的2種解決辦法,一種是通過啟動(dòng)MySQL時(shí)跳過權(quán)限表驗(yàn)證,然后重置密碼,另一種是創(chuàng)建一個(gè)包含新密碼的文本文件,并通過MySQL的--init-file選項(xiàng)來應(yīng)用該文件中的密碼設(shè)置,需要的朋友可以參考下2024-11-11mysql數(shù)據(jù)庫中字符集亂碼問題原因及解決
這篇文章主要介紹了mysql數(shù)據(jù)庫中字符集亂碼問題原因及解決,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08