更新時(shí)間:2021-12-17 來源:黑馬程序員 瀏覽量:
在 MySQL 中,當(dāng)主鍵定義為自增長后,這個(gè)主鍵的值就不再需要用戶輸入數(shù)據(jù)了,而由數(shù)據(jù)庫系統(tǒng)根據(jù)定義自動(dòng)賦值。每增加一條記錄,主鍵會(huì)自動(dòng)以相同的步長進(jìn)行增長。
通過給字段添加 auto_increment 屬性來實(shí)現(xiàn)主鍵自增長。
字段名 數(shù)據(jù)類型 auto_increment
create table t_user1( id int primary key auto_increment, name varchar(20) );
默認(rèn)情況下,auto_increment的初始值是 1,每新增一條記錄,字段值自動(dòng)加 1。
一個(gè)表中只能有一個(gè)字段使用 auto_increment約束,且該字段必須有唯一索引,以避免序號重復(fù)(即為主鍵或主鍵的一部分)。
auto_increment約束的字段必須具備 NOT NULL 屬性。
auto_increment約束的字段只能是整數(shù)類型(TINYINT、SMALLINT、INT、BIGINT 等。
auto_increment約束字段的最大值受該字段的數(shù)據(jù)類型約束,如果達(dá)到上限,auto_increment就會(huì)失效。
如果第一條記錄設(shè)置了該字段的初始值,那么新增加的記錄就從這個(gè)初始值開始自增。例如,如果表中插入的第一條記錄的 id 值設(shè)置為 5,那么再插入記錄時(shí),id
值就會(huì)從 5 開始往上增加。
-- 方式1,創(chuàng)建表時(shí)指定 create table t_user2 ( id int primary key auto_increment, name varchar(20) )auto_increment=100;
-- 方式2,創(chuàng)建表之后指定 create table t_user3 ( id int primary key auto_increment, name varchar(20) ); alter table t_user2 auto_increment=100;
delete數(shù)據(jù)之后自動(dòng)增長從斷點(diǎn)開始
truncate數(shù)據(jù)之后自動(dòng)增長從默認(rèn)起始值開始
1024首播|39歲程序員逆襲記:不被年齡定義,AI浪潮里再迎春天
2025-10-241024程序員節(jié)丨10年同行,致敬用代碼改變世界的你
2025-10-24【AI設(shè)計(jì)】北京143期畢業(yè)僅36天,全員拿下高薪offer!黑馬AI設(shè)計(jì)連續(xù)6期100%高薪就業(yè)
2025-09-19【跨境電商運(yùn)營】深圳跨境電商運(yùn)營畢業(yè)22個(gè)工作日,就業(yè)率91%+,最高薪資達(dá)13500元
2025-09-19【AI運(yùn)維】鄭州運(yùn)維1期就業(yè)班,畢業(yè)14個(gè)工作日,班級93%同學(xué)已拿到Offer, 一線均薪資 1W+
2025-09-19【AI鴻蒙開發(fā)】上海校區(qū)AI鴻蒙開發(fā)4期5期,距離畢業(yè)21天,就業(yè)率91%,平均薪資14046元
2025-09-19