2011-04-23 37 views
14

根據MySQL網站,帶符號的bigint可以達到18446744073709551615. 如果我需要一個比自動遞增主鍵大的數字,該怎麼辦?如果我需要一個非常大的自動增量ID,該怎麼辦?

+8

舉一個真實的例子,你需要這個已經是一個非常大的數字 – 2011-04-23 05:13:30

+2

我想不出理論情況這將是必要的......但如果是這樣,只需使用一個你自己增加的字符串。無論如何,任何數據庫在碰到那麼多行之前都會失敗。 – Mikecito 2011-04-23 05:40:55

回答

2

我想你被搞砸了?你可以擺脫MySQL的自動增量,並可以使用自己增加的基數64數字。

91

如果您每秒插入100萬條記錄,則需要584542年才能達到上限。

我希望由那麼MySQL的下一版本將支持更大的ID列,和開發人員將所有能夠發佈到堆棧溢出  :)

+0

很好回答!我在想同樣的事,但沒有做數學。 – 2011-04-23 05:33:14

+3

我認爲那時我們將會擁有MySQL 9000.900.90.9 :) – Sourav 2011-04-23 05:54:19

+2

實際的'數學'是18446744073709551615 /(1000000 * 60 * 60 * 24 * 365.25),非常簡單:一分鐘60萬秒,60分鐘一小時,一天24小時,一年365天(閏年只有四分之一,並非真正必要)。它不需要思考。 – 9000 2011-04-23 06:11:54

14

有了這樣一個前做背的最粗略計算號碼(1到18446744073709551615),你可以給地球上的所有動物一個獨特的ID :)

+0

哈哈哈讓我的一天! – DaAmidza 2017-11-21 21:34:29

相關問題