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

2021-10-04 14:50:14 字數 1284 閱讀 3770

oracel建立uuid為主鍵的表時可以直接指定default uuid();但是mysql不支援,可以通過觸發器實現。下面是建立乙個產品表的sql語句。

--建表語句

create

table

`product`

(`id`

varchar(36

)not

null

,`productnum`

varchar(50

)not

null

,`productname`

varchar(50

)default

null

,`departuretime`

timestamp

notnull

default

current_timestamp

onupdate

current_timestamp

,`productprice`

double

default

null

,primary

key(

`id`),

unique

key`product`

(`id`

,`productnum`))

engine

=innodb

default

charset

=utf8;

--建立uuid觸發器

手動新增幾個產品資訊

重新整理後id自動生成uuid

注意:

sql語句結尾沒加分號 ;

(end if 和end後面) 觸發器名稱和表名稱沒加 ``

設定id長度為32時,會報錯 輸入too long

mysql設定主鍵id為uuid

建立乙個user表,主鍵字段 這裡示例用userid 的屬性不要設定自增 開啟表結構 新增觸發器 如圖,1 觸發器視窗 2 選擇before insert 3 此觸發器的名稱,可自定義 4 插入 觸發器的邏輯 觸發器的邏輯 說明 userid是主鍵名稱,根據自己情況來 set new.userid ...

mysql 查詢表資訊,遞增主鍵id

select table schema,table name,table type,auto increment,table rows from information schema.tables where table schema 資料庫名 and table name 表名 通過查詢不同列名,...

Oracle新增時返回主鍵id

首先是主鍵要自增,不然可以直接獲得id select oa news id.currval from dual insert into oa news name values aaa keyproperty 是去要傳值的主鍵id,在外面用什麼接就取什麼名字 order after before 之後...