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

2021-08-11 13:20:34 字數 620 閱讀 7270

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資料庫中新建一個資料庫

createusertomidentifiedby 密碼 建立使用者 grantallprivilegesondbname.totom 把dbname庫的所有操作許可權都給tomflushprivileges 重新整理快取,生效 在控制檯根目錄下開啟sqlserver企業管理器,新建sqlserve...

mysql資料庫和access資料庫有什麼區別

mysql和access的區別 mysql特性 很便宜,通常是免費的 網路承載少 查詢 優化 可以簡便的應用程式通過mysql做備份 mysql操縱簡單,易上手,且為各種不同的資料格式提供有彈性的擴充套件介面 odbc access特性 簡單易學,使用方便,開發效率高。mysql對於大多數使用者而言...

如何用Eclipse連線MySQL資料庫

步驟1.在工程上右鍵,選擇new floder2.建立lib包 3.把mysql下的jar包複製 4.在工程lib包下貼上過來 5.在mysql的jar包上右鍵選擇 build path add to build path 6在工程中新建類 7.輸入如下 8.執行之後,輸出如下,證明資料庫連線成功!...