在UML

时间:2018-01-02 19:25:31

标签: mysql spring-data-jpa database-trigger

我选择更新我的应用程序和数据库以使用UUID作为主键。正如我试图通过尽可能少地修改我的应用程序来实现这一点,我想到了使用mysql触发器。

这个帖子

Creating trigger in mysql for generation UUID

解释了如何在插入时生成UUID。但是使用它作为关键属性,我需要处理不太可能的碰撞情况。 是否可以通过使用mysql触发器使用新的UUID重试插入来对约束违规做出反应?

1 个答案:

答案 0 :(得分:1)

回答被问到的问题......

问:是否可以通过使用mysql触发器使用新的UUID重试插入来对约束违规做出反应?

答:不,不可能在INSERTBEFORE INSERT触发器中“重试”MySQL AFTER INSERT。不在触发器内。 (请注意,此限制与在列中存储UUID值或将该列用作主键无关。)

如果INSERT操作引发重复键异常,则无法在AFTER INSERT触发器中捕获该异常。