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

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

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了。

如何在shell中操作mysql資料庫

對mysql偶爾有用的另一個選項是 e或 execute選項,可用來將sql語句傳遞給伺服器。該語句必須 用引號引起來 單引號或雙引號 然而,如果想要在查詢中將值引起來,則對於查詢應使用雙引號 查詢中引用的值應使用單引號 當使用該選項時,語句被執行,然後mysql立即退出命令外殼。例如,你可以用下面...

如何改mysql資料庫資料庫密碼

文件類共創空間 修改mysql是需要有mysql裡的root許可權的,下面介紹幾種修改mysql資料庫密碼的方法 方法一使用phpmyadmin,這是最簡單的了,修改mysql庫的user表,不過別忘了使用password函式。方法二使用mysqladmin,這是前面宣告的一個特例。mysqladm...

如何在命令列建立MySQL資料庫

使用命令列建立mysql資料庫,首先要登入mysql資料庫系統 建立步驟如下 windows作業系統下,開始 執行,開啟 執行 對話方塊,輸入cmd,點選 確定 即可進入dos視窗,輸入登入mysql資料庫命令 mysql h 127.0.0.1 u root p 引數含義 mysql是登入資料庫的...