一、MySQL中的自增主鍵的步長(zhǎng)有關(guān)的變量AUTO_INCREMENT_INCREMENT與AUTO_INCREMENT_OFFSET
因?yàn)镸ySQL中的和自增主鍵的步長(zhǎng)有關(guān)的變量:AUTO_INCREMENT_INCREMENT與AUTO_INCREMENT_OFFSET是有需求才有實(shí)現(xiàn)。表維度上的這種功能沒(méi)什么用處.當(dāng)M-M架構(gòu)時(shí). 設(shè)置AUTO_INCREMENT_INCREMENT與AUTO_INCREMENT_OFFSET,是減少主鍵沖突的一種方式。
在 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)。
通過(guò)給字段添加 AUTO_INCREMENT 屬性來(lái)實(shí)現(xiàn)主鍵自增長(zhǎng)。語(yǔ)法格式如下:
字段名 數(shù)據(jù)類(lèi)型 AUTO_INCREMENT
默認(rèn)情況下,AUTO_INCREMENT 的初始值是 1,每新增一條記錄,字段值自動(dòng)加 1。
一個(gè)表中只能有一個(gè)字段使用 AUTO_INCREMENT 約束,且該字段必須有少數(shù)索引,以避免序號(hào)重復(fù)(即為主鍵或主鍵的一部分)。
AUTO_INCREMENT 約束的字段必須具備 NOT NULL 屬性。
AUTO_INCREMENT 約束的字段只能是整數(shù)類(lèi)型(TINYINT、SMALLINT、INT、BIGINT 等)。
AUTO_INCREMENT 約束字段的最大值受該字段的數(shù)據(jù)類(lèi)型約束,如果達(dá)到上限,AUTO_INCREMENT 就會(huì)失效。
延伸閱讀:
二、SQL是什么
Structured Query Language
‘SQL’是結(jié)構(gòu)化查詢語(yǔ)言,是一種用來(lái)操作?RDBMS?的數(shù)據(jù)庫(kù)語(yǔ)言,當(dāng)前關(guān)系型數(shù)據(jù)庫(kù)都支持使用SQL語(yǔ)言進(jìn)行操作,也就是說(shuō)可以通過(guò)?SQL?操作 oracle,sql server,mysql,sqlite 等等所有的關(guān)系型的數(shù)據(jù)庫(kù)
SQL語(yǔ)句主要分為:DQL:數(shù)據(jù)查詢語(yǔ)言,用于對(duì)數(shù)據(jù)進(jìn)行查詢,如select**
DML:數(shù)據(jù)操作語(yǔ)言,對(duì)數(shù)據(jù)進(jìn)行增加、修改、刪除,如insert、udpate、delete**
TPL:事務(wù)處理語(yǔ)言,對(duì)事務(wù)進(jìn)行處理,包括begin transaction、commit、rollback
DCL:數(shù)據(jù)控制語(yǔ)言,進(jìn)行授權(quán)與權(quán)限回收,如grant、revoke
DDL:數(shù)據(jù)定義語(yǔ)言,進(jìn)行數(shù)據(jù)庫(kù)、表的管理等,如create、drop
CCL:指針控制語(yǔ)言,通過(guò)控制指針完成表的操作,如declare cursor對(duì)于web程序員來(lái)講,重點(diǎn)是數(shù)據(jù)的crud(增刪改查),必須熟練編寫(xiě)DQL、DML,能夠編寫(xiě)DDL完成數(shù)據(jù)庫(kù)、表的操作,其它語(yǔ)言如TPL、DCL、CCL了解即可SQL 是一門(mén)特殊的語(yǔ)言,專門(mén)用來(lái)操作關(guān)系數(shù)據(jù)庫(kù)不區(qū)分大小寫(xiě)