mysql - 应该如何在 SQL 中创建一个无限唯一的用户名?
问题描述
如何使无数行独一无二?我正在使用的系统目前是BIGINT(20)
,但它也有一个最大限制。应该采取什么方法?如何使无限数量的行唯一?
解决方案
给定有限的资源,在无限的数学理论意义上,不可能做到“无限”。
务实的方法是实现一个有限的限制,即(请原谅这里的语言滥用)“足够无限”。
如果BIGINT
不够无限,我们可以使用由两列或多列组成的复合键。但在我们这样做之前,让我们确保我们没有解决一个实际上并不存在的问题。
BIGINT
MySQL (有符号)的最大值为 9223372036854775807。
有点大的快速数学......如果我们每天使用 4 万亿个 id 值,将需要 6300 多年才能耗尽BIGINT
。
推荐阅读
- javascript - 使用 getDerivedStateFromProps 获取 API 数据导致组件多次渲染
- java - HttpClient Post 请求 URL 的问题,Java 中没有变化
- css - 如何使用引用节点模块中的样式表
- swift - 带有协议元素的数组不能调用数组扩展方法
- javascript - Javascript 布尔比较不起作用。如何解决?
- linkedin - #LinkedIn 如何让 App 获得 r_1st_connections 权限
- design-patterns - 如何在 Rust 的装饰器模式中使用生命周期说明符?
- javafx - 如何为 MacOS 捆绑 .jar 文件?
- codeigniter - 带有 codeigniter 的存储过程
- php - 检查文件名是否包含用于文件(图像)上传的 %2F