在mysql中使用uuids作为主键

nr9pn0ug  于 2021-06-21  发布在  Mysql
关注(0)|答案(1)|浏览(219)

我选择更新我的应用程序和数据库以使用uuid作为主键。当我试图通过尽可能少的改动来实现这一点时,我考虑使用mysql触发器。
这根线
在mysql中为生成uuid创建触发器
说明如何在插入时生成uuid。但是使用它作为一个关键属性,我需要处理不太可能的碰撞情况。是否可以通过使用mysql触发器使用新的uuid重试插入来对约束冲突做出React?

zzlelutf

zzlelutf1#

回答被问到的问题。。。
问:是否可以通过使用mysql触发器用新的uuid重试插入来对违反约束的行为做出React?
答:不,不可能“重试”mysql INSERT 从一个 BEFORE INSERT 或者一个 AFTER INSERT 触发。不在触发器内(请注意,此限制与在列中存储uuid值或将该列用作主键无关。)
如果 INSERT 操作抛出一个重复的键异常,无法在 AFTER INSERT 触发。

相关问题