AUTO_INCRMENT 屬性用于為新行生成唯一標(biāo)識(shí)。如果列被聲明為“NOT NULL”,則可以將 NULL 分配給該列以生成數(shù)字序列。
當(dāng)將任何值插入到 AUTO_INCREMENT 列中時(shí),該列將被設(shè)置為該列值,并且序列也會(huì)被重置,以便它在最大列值的順序范圍內(nèi)自動(dòng)生成值。
可以更新現(xiàn)有的“AUTO_INCRMENT”列,這也會(huì)重置“AUTO_INCRMENT”序列。最新自動(dòng)生成的‘AUTO_INCRMENT;可以使用 SQL 中的“LAST_INSERT_ID()”函數(shù)或使用 C API 函數(shù)“mysql_insert_id()”來檢索值。
這些函數(shù)是特定于連接的,這意味著它們的返回值不是受執(zhí)行插入操作的其他連接的影響。可以使用“AUTO_INCRMENT”列的最小整數(shù)數(shù)據(jù)類型,該數(shù)據(jù)類型足夠大以容納用戶所需的最大序列值。
AUTO_INCREMENT 規(guī)則
使用 AUTO_INCRMENT 屬性時(shí)需要遵循以下規(guī)則 –
每個(gè)表只有一個(gè) AUTO_INCRMENT 列,其數(shù)據(jù)類型為
通常為整數(shù)。
AUTO_INCREMENT 列需要建立索引。這意味著它可以是
PRIMARY KEY 或 UNIQUE 索引。
AUTO_INCRMENT 列必須具有 NOT NULL 約束。
當(dāng) AUTO_INCREMENT 時(shí)屬性設(shè)置為列,MySQL自動(dòng)添加
對列本身的 NOT NULL 約束。
如果 id 列尚未添加到表中,則可以使用以下語句 –
ALTER TABLE tableName ADD id INT UNSIGNED NOT NULL AUTO_INCREMENT, ADD INDEX (id);
登錄后復(fù)制
如果 id 列已經(jīng)存在,則可以使用以下命令 –
ALTER TABLE tableName AUTO_INCREMENT=specificValue;
登錄后復(fù)制
這里,tableName是指需要設(shè)置“AUTO_INCRMENT”列的表的名稱。 “specificValue”是指用戶指定“AUTO_INCRMENT”值開始的整數(shù)。
以上就是MySQL中如何設(shè)置初始值和自增?的詳細(xì)內(nèi)容,更多請關(guān)注www.92cms.cn其它相關(guān)文章!