Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 如果我需要一个非常非常大的自动增量ID怎么办?_Mysql_Bigint - Fatal编程技术网

Mysql 如果我需要一个非常非常大的自动增量ID怎么办?

Mysql 如果我需要一个非常非常大的自动增量ID怎么办?,mysql,bigint,Mysql,Bigint,根据MySQL网站,签名的bigint可以达到18446744073709551615。 如果我需要一个比自动递增主键大的数字怎么办?我想你完了?你可以摆脱MySQL的自动递增功能,使用你自己递增的64个基数。如果你全天候每秒插入100万条记录,那么需要584542年才能达到上限 我希望到那时MySQL的下一个版本将支持更大的ID列:)有了这样一个数字(1到18446744073709551615),你可以给地球上所有的动物一个唯一的ID:)给出一个你需要的真实例子,这个数字已经是一个非常大的数

根据MySQL网站,签名的bigint可以达到18446744073709551615。
如果我需要一个比自动递增主键大的数字怎么办?

我想你完了?你可以摆脱MySQL的自动递增功能,使用你自己递增的64个基数。

如果你全天候每秒插入100万条记录,那么需要584542年才能达到上限


我希望到那时MySQL的下一个版本将支持更大的ID列:)

有了这样一个数字(1到18446744073709551615),你可以给地球上所有的动物一个唯一的ID:)

给出一个你需要的真实例子,这个数字已经是一个非常大的数字。我想不出理论上有必要这样做。。。但是如果是这样的话,就使用一个你自己递增的字符串。任何数据库在到达这么多行之前都会失败很久。实际的“数学”是18446744073709551615/(1000000*60*60*24*365.25),非常简单:一分钟100万,60秒,一小时60分钟,一天24小时,一年365天(闰年为四分之一,不需要)。不需要任何思考。这个表达的答案是58.45420460906263年,而不是584542年,对吗?@Jason:我不知道怎么说。我仍然认为以每秒百万的速度填充64位计数器将花费58.4万年以上的时间。这就是全部要点:虽然64位肯定是有限的,但从实际目的来看,if是无限的。也许我应该问问其他地方。但我尝试在windows和MS Excel上使用“计算器”,但它不能包含所有18446744073709551615数字。你们用了什么?“C++”?@ FANDUSSANTO:对于信封的计算,比如我个人使用<代码> Python < /C> >代码> IRB< /COD>,<代码> GHCI < /C> >,或者甚至<代码> BC/<代码>,这取决于手头的可用性。对不起,
calc.exe
是我从未使用过的东西之一。虽然使用
$(())
bash
和elisp都不能处理此计算;相当多的此类工具仅限于它们所运行的体系结构的
int
long int
的大小。