gpt4 book ai didi

没有顺序 id 的 MySql 表

转载 作者:可可西里 更新时间:2023-11-01 06:55:31 25 4
gpt4 key购买 nike

有没有办法在 MySql 中创建一个表,它有一个自动 ID 字段,但 ID 不是连续的。例如,随机或伪随机 ID。我找到了建议生成 ID 并尝试插入它直到找到未使用的 ID 的解决方案 ( generating an sequential five digit alphanumerical ID )。但是没有什么可以直接在表定义中完成的,或者更简单的技巧。

最佳答案

MySQL 有一个原生函数 UUID()这将生成一个全局唯一的标识符:

mysql> SELECT UUID();
-> '6ccd780c-baba-1026-9564-0040f4311e29'

您可以将其输出存储在 CHAR(36) 列中。

INSERT INTO table (`uuid`, `col1`, `col2`) VALUES (UUID(), 'someval', 'someval');

虽然根据文档,

Although UUID() values are intended to be unique, they are not necessarily unguessable or unpredictable. If unpredictability is required, UUID values should be generated some other way.

附录 另一个选项是 UUID_SHORT()对于 64 位 unsigned INT 而不是字符字段。

mysql> SELECT UUID_SHORT();
-> 92395783831158784

关于没有顺序 id 的 MySql 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7575302/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com