mysql?自增長約束(auto_increment)的使用
1、概念
在Mysql中,當主鍵為自增長后,這個主鍵的值就不再需要用戶輸入數(shù)據(jù)了,而由數(shù)據(jù)庫系統(tǒng)根據(jù)定義自動賦值。每增加一條記錄,主鍵會自動以相同的步長進行增長。
注意:自增長約束通常與主鍵放在一起使用。
通過給字段添加auto_increment屬性來實現(xiàn)主鍵的增長。
2、語法
字段名 數(shù)據(jù)類型 primary key auto_increment
3、操作
示例:

注意:自增長約束默認情況下主鍵的值時從1開始的。
示例;


4、特點
(1)默認情況下,auto_increment的初識值是1,每新增一條記錄,字段值會自動加1
(2)一個表只能有一個字段使用auto_increment約束,且該字段必須有唯一索引,以避免序號重復(即為主鍵或主鍵的一部分)
(3)auto_increment約束的字段必須具備NOT NULL屬性。
(4)auto_increment約束的字段只能是整數(shù)類型。(TINYINT, SMALLINT, INT, BIGINT等)
(5)auto_increment約束字段的最大值受該字段的數(shù)據(jù)類型約束,如果達到上限,auto_increment就會失效。
5、指定自增字段初識值:
如果第一條記錄設置了該字段的初識值,那么新增加的記錄就會從這個初識值開始自增。例如:如果表中插入的第一條記錄的id值設置為5,那么再插入記錄時,id值就會從5開始開始往上增加。
(1)創(chuàng)建表時指定
例如:
create table t_user2( id int primary key auto_increment, name varchar(200) )auto_increment=100;
#往表t_user2中插入數(shù)據(jù)時,id值會從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ù)之后,自動增長從斷電開始。即:delete刪除數(shù)據(jù)之后,自增長還是在最后一個值基礎上加1.
示例:
delete前:

delete后:


2)truancate數(shù)據(jù)之后,自動增長從默認起始值開始,即:truncate刪除之后,自增長從1開始。
示例:
truncate前:

truncate后;

總結:
在有起始值的情況,delete刪除數(shù)據(jù)之后自增長還是在最后一個值基礎上加1,而truncate刪除數(shù)據(jù)之后,自增長從1開始。
到此這篇關于mysql 自增長約束(auto_increment)的使用的文章就介紹到這了,更多相關mysql 自增長約束內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
MySQL配置文件my.cnf優(yōu)化詳解(mysql5.5)
這篇文章主要介紹了MySQL配置文件my.cnf優(yōu)化詳解,需要的朋友可以參考下2014-12-12
mysql安裝navicat之后,出現(xiàn)2059,Authentication plugin及本地鏈接虛擬機docker,
這篇文章主要介紹了mysql安裝navicat之后,出現(xiàn)2059,Authentication plugin及本地鏈接虛擬機docker,遠程鏈接服務器,需要的朋友可以參考下2020-06-06
MySQL深入詳解delete與Truncate及drop的使用區(qū)別
對于drop、truncate和delete雖然簡單,但是真要使用或者面試時候問到還是需要有一定的總結,下面這篇文章主要給大家介紹了關于mysql中drop、truncate與delete區(qū)別的相關資料,需要的朋友可以參考下2022-07-07

