小白請教如何在mysql資料庫中使用uuid為主鍵

時間 2021-08-11 18:17:32

1樓:愛笑的柯南推理

mysql 中表1需要準備大量資料,內容主要取自表2,id必須為32位uuid (專案所有表都是這樣,沒辦法), 準備這樣插入:

1 insert into tbl_one (id, soid, sname) select 2 replace (uuid(), '-', ''), 3 two.id, 4 two.name 5 from 6 tbl_two two

報錯: duplicate entry '4534c15dc2a111e6a9ab000ec6c596eb' for key 'primary',顯然主鍵衝突了, replace (uuid(), '-', '') 僅執行了一次,

找了半天,似乎也沒有最簡單的解決方案。退而求其次,我想到的最簡單解決方案:

1 insert into tbl_one (id, soid, sname) select 2 uuid(), #uuid()為什麼可以? 3 two.id, 4 two.

name 5 from 6 tbl_two two;7 8 update tbl_one set id = replace (id, '-', '');

uuid()生成的id不會重複,但是會有"-",用空格替換一下就ok了。

MYSQL資料庫怎麼用?如何匯入MySQL資料庫?

建立下乙個sqlyog,這個很容易入門,有中文簡體版的,樓上固然好,但是對於初學者不是太合適。如何匯入mysql資料庫?3 如果sql檔案的內容中有建立資料庫的語句,或者想將表存放在已有的資料庫,在這裡就不用建立資料庫。6 開始匯入sql檔案,輸入 source sql檔案的路徑 注意檔案路徑要是複...

mysql資料庫和oracle資料庫的區別

1 體積不同。oracle它體積比較龐大,一般是用來開發大型應用 例如分布式 的。而mysql的體積相對來說比較小,較之oracle更容易安裝 維護以及管理,操作也簡單,最重要的是它是三個中唯一乙個開源資料庫,但目前也屬於oracle公司的產品了。2 容量不同。oracle容量無限,根據配置決定 而...

mysql資料庫怎樣建立表,MYsql資料庫怎樣建立表? 20

歐覓潘安然 比如要建立學生表表名為student,學生表有欄位學號 no 年齡 age create table student no int primary key 主鍵 age int 執行下就建立好了 隨便舉的例子,明白吧?謝謝採納! create database cookbook 建立一個...