我选择更新我的应用程序和数据库以使用UUID作为主键。由于我试图通过尽可能少地更改我的应用程序来实现这一点,所以我考虑使用mysql触发器。
这个帖子
Creating trigger in mysql for generation UUID
解释如何在insert上生成UUID。但是使用它作为一个关键属性,我需要处理不太可能发生的碰撞事件。是否可以通过使用mysql触发器使用新的UUID重新尝试insert来应对违反约束的问题?
发布于 2018-01-02 19:46:07
为了回答所问的问题..。
问:是否可以通过使用mysql触发器使用新的UUID重新尝试insert来应对违反约束的行为?
答:不,不可能从一个MySQL或AFTER INSERT触发器中“重试”一个BEFORE INSERT INSERT。不是在扳机内。(请注意,此限制与将UUID值存储在列中或将该列用作主键无关。)
如果INSERT操作抛出重复的键异常,则无法在AFTER INSERT触发器中捕获该异常。
https://stackoverflow.com/questions/48066664
复制相似问题