在mysql中,可以利用「AUTO INCREMENT」欄位實現自動增加,該欄位會在新記錄插入表中時產生一個唯一的數字,預設開始值為1,每個新紀錄遞增1,語法為「字段名資料類型AUTO_INCREMENT」。
本教學操作環境:windows10系統、mysql8.0.22版本、Dell G3電腦。
自動增長的作用:
問題:設定主鍵約束資料表後,每次插入記錄時,如果插入的值已經存在,會插入失敗。
如何解決:為主鍵產生自動增長的值。
自動增長的語法:
字段名 数据类型 AUTO_INCREMENT;
使用須知:
1.一個表中只能有一個自動增長字段;
2.該字段的資料型別是整數型別;
3.必須定義為鍵,如UNIQUE KEY、PRIMARY KEY;
4.若為自動成長欄位插入NULL、0、 DEFAULT或在插入時省略該字段,該字段就會使用自動增長值;
5.若插入的是一個具體值,則不會使用自動增長值;
6.自動增長值從1開始自增,每次加1
7.若插入的值大於自動增長的值,則下次插入的自動增長值會自動使用最大值加1;
8.若插入的值小於自動增長值,則不會對自動增長值產生影響;
9.使用DELETE刪除記錄時,自動增長值不會減少或填補空缺.
#自動成長使用範例:
--自动增长使用演示 Create Table my_auto( id Int Unsigned Primary Key Auto_Increment, username Varchar(20) ); #查看 DESC my_auto;
#自動成長使用示範:
#插入时省略id字段,将会使用自动增长值 Insert Into my_auto(username) Values('a'); #为id字段插入null,将会使用自动增长值 Insert Into my_auto Values(Null,'b'); #为id字段插入具体值6 Insert Into my_auto Values(6,'c'); #为id字段插入0,使用自动增长值 Insert Into my_auto Values(0,'d'); #查看 Select * From my_auto;
查看自動成長值:
#查看自动增长值 Show Create Table my_auto;
為現有的表修改或刪除自動增長:
#修改自动增长值 Alter Table my_auto Auto_Increment=10; #删除自动增长值 Alter Table my_auto Modify id Int Unsigned; #重新为id添加自动增长值 Alter Table my_auto Modify id Int Unsigned Auto_Increment;
注意:
#1.自動增長刪除並重新添加後,自動增長的初始值會自動設為列現有的最大值加1;
2.在修改自動增長值時,修改的值若小於該列見有的最大值,則修改不會生效。
推薦學習:mysql影片教學
#以上是mysql怎麼實現自動增加的詳細內容。更多資訊請關注PHP中文網其他相關文章!