我正在尝试创建一个可以在表中存储为 BIGINT 的唯一标识符。
我正在使用使用 BIGINT 作为唯一标识符的预先存在的表。数据库本身不会生成标识符,而是由插入值的外部程序执行此操作。我需要将我自己的值插入到这个表中,这样做需要生成一个唯一标识符,即 BIGINT(24)。
我正在考虑使用SELECT UTC_TIMESTAMP() + 0
,但我正在使用的 MySQL 版本中不包含微秒(我无法控制)。
因此,经过一些研究,它看起来似乎SELECT UUID_Short()
是更好的方法。但是我担心精度不够。
如果我使用SELECT UUID_SHORT()
有没有办法在插入之前检查UUID_Short
表中不存在的值?我应该提一下,我真的很想在 SQL 中完成所有这些操作,这样我就可以在数据库中创建一个每 24 小时运行一次的事件。每次事件运行时的插入数量约为 60 条记录,因此我认为性能不会成为问题。