簡體   English   中英

在MySQL中使用UUID作為主鍵

[英]Using UUIDs as primary key in mysql

我選擇更新我的應用程序和數據庫以使用UUID作為主鍵。 當我試圖通過對應用程序進行盡可能少的更改來實現此目標時,我考慮使用mysql觸發器。

這個線程

在mysql中創建觸發器以生成UUID

解釋了如何在插入時生成UUID。 但是使用它作為關鍵屬性,我需要處理不太可能發生的碰撞情況。 通過使用mysql觸發器使用新的UUID重試插入,是否可以對約束違規做出反應?

為了回答所提出的問題...

問: 是否可以通過使用mysql觸發器使用新的UUID重試插入來應對約束違規?

答:不,不可能從BEFORE INSERTAFTER INSERT觸發器中“重試” MySQL INSERT 不在觸發器內。 (請注意,此限制與將UUID值存儲在列中或將該列用作主鍵無關。)

如果INSERT操作拋出重復的鍵異常,則無法在AFTER INSERT觸發器中捕獲該異常。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM