【发布时间】:2012-07-04 10:25:05
【问题描述】:
mySQL 中的所有表是否有适当的本机非解决方法自动递增可能性?我的意思是,不仅仅是每张表自动增加,我的意思是数据库中的每个新行都有一个数字?
我在专业的预言机 (?) 设置中看到了这一点。主要优点是您对所有表中的所有行/元素都有唯一的 id,而不仅仅是 PER TABLE。
【问题讨论】:
-
如果要保证唯一性,可以使用MySQL的
UUID_SHORT()函数。 -
MySQL 没有序列(与大多数其他 DBMS 一样)。您需要推出自己的解决方案。
-
我不知道原生方式。但也许您可以编写一个插入触发器,在所有表中搜索最高索引并返回该值。至少在理论上,老实说,我不确定这在 MySQL 中是否可行。
-
@acme 这将是 CPU 的可悲浪费。如果您只需要整体唯一性,请坚持使用 UUID。它们当然是 128 位的大值,所以如果你想使用更小的整数(BIGINT 是 64 位),那么请使用我描述的序列表。
-
@eggyal SHORT UUID 占用多大的空间?
标签: mysql auto-increment