首页 > 解决方案 > 应该如何在 SQL 中创建一个无限唯一的用户名?

问题描述

如何使无数行独一无二?我正在使用的系统目前是BIGINT(20),但它也有一个最大限制。应该采取什么方法?如何使无限数量的行唯一?

标签: mysqlsql

解决方案


给定有限的资源,在无限的数学理论意义上,不可能做到“无限”。

务实的方法是实现一个有限的限制,即(请原谅这里的语言滥用)“足够无限”。

如果BIGINT不够无限,我们可以使用由两列或多列组成的复合键。但在我们这样做之前,让我们确保我们没有解决一个实际上并不存在的问题。

BIGINTMySQL (有符号)的最大值为 9223372036854775807。

有点大的快速数学......如果我们每天使用 4 万亿个 id 值,将需要 6300 多年才能耗尽BIGINT


推荐阅读