[英]Using UUIDs as primary key in mysql
我選擇更新我的應用程序和數據庫以使用UUID作為主鍵。 當我試圖通過對應用程序進行盡可能少的更改來實現此目標時,我考慮使用mysql觸發器。
這個線程
解釋了如何在插入時生成UUID。 但是使用它作為關鍵屬性,我需要處理不太可能發生的碰撞情況。 通過使用mysql觸發器使用新的UUID重試插入,是否可以對約束違規做出反應?
為了回答所提出的問題...
問: 是否可以通過使用mysql觸發器使用新的UUID重試插入來應對約束違規?
答:不,不可能從BEFORE INSERT
或AFTER INSERT
觸發器中“重試” MySQL INSERT
。 不在觸發器內。 (請注意,此限制與將UUID值存儲在列中或將該列用作主鍵無關。)
如果INSERT
操作拋出重復的鍵異常,則無法在AFTER INSERT
觸發器中捕獲該異常。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.