簡體   English   中英

生成唯一ID

[英]Generating a unique ID

我正在研究生成唯一ID的函數 - 我的具體要求是唯一ID只需要8位數。

無論如何,我剛剛意識到我們可以設置ID自動增量字段從任何數字開始。 所以假設我從11111111開始 - 我是否認為所有新記錄都會從這個值增加? 如果是這樣,那么我有我唯一的8位ID,無需使用此功能。

而且如果刪除了一條記錄,那么新記錄會重新使用該刪除的ID嗎?

那是對的。 如果您的自動編號列從11111111開始,那么您的下一行將具有編號11111112。

刪除記錄時, 不會重復使用其自動編號。

編輯:關於最大值,這取決於您選擇的列類型。 從MySQL文檔:

為AUTO_INCREMENT列使用足夠大的整數數據類型來保存所需的最大序列值。 當列達到數據類型的上限時,下一次生成序列號的嘗試將失敗。 例如,如果使用TINYINT,則允許的最大序列號為127.對於TINYINT UNSIGNED,最大值為255。

您可以使用INT,最多可以使用4294967295或BIGINT,最高可達18446744073709551615。請參閱http://dev.mysql.com/doc/refman/5.0/en/numeric-types.html

1)自動增量 - 不重復使用值

2)是的,通過將自動增量計數器設置為8位數字(例如10000000),您可以實現此目的! (表選項“AUTO_INCREMENT = N”)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM