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