mysql設定主鍵id為uuid

2021-10-03 22:23:18 字數 695 閱讀 8868

建立乙個user表,主鍵字段(這裡示例用userid)的屬性不要設定自增

開啟表結構

新增觸發器

如圖,1、觸發器視窗

2、選擇before insert

3、此觸發器的名稱,可自定義

4、插入**,觸發器的邏輯

;--觸發器的邏輯

--說明:userid是主鍵名稱,根據自己情況來

set new.userid = replace(uuid(), 『-』 ,』』);的作用:將 - 去除

生成的32位uuid中有符號 -

比如26ea6f97-66ab-11ea-acd6-d017c24245d8

若想原樣顯示,則將**換成

set new.userid=uuid();

最後應用即可

MySQL建立表時設定主鍵id為uuid

oracel建立uuid為主鍵的表時可以直接指定default uuid 但是mysql不支援,可以通過觸發器實現。下面是建立乙個產品表的sql語句。建表語句 create table product id varchar 36 not null productnum varchar 50 not ...

mysql主鍵id不連續

唯一鍵衝突 事務回滾 批量插入時申請主鍵的策略造成mysql中自增主鍵不連續 批量申請自增主鍵時它的申請數量是乘2遞增的,比如插入4條資料,第一條申請1個主鍵 第二個申請2個滿足第二和三條資料插入時使用,第四條資料插入時還需要再申請一次,這次會分配4個主鍵,但是只用了1個,有3個就浪費了,並出現了i...

設定非主鍵為unique

很多時候需要將某一欄位 非主鍵 設定為unique,以下提供3種方法 1.設定為主鍵 drop table product create table product id allint unsigned not null primary key,modelid allint unsigned not...