MySQL 中,id 值通常是自增長的整數值,但有時候使用 UUID 作為唯一標識符可能更為合適。在這種情況下,我們可以在定義表結構時使用 UUID() 函數來為 id 列自動填充 UUID 值。
CREATE TABLE users ( id CHAR(36) NOT NULL DEFAULT UUID(), name VARCHAR(50), age INT, PRIMARY KEY (id) );
在上述示例中,我們使用 CHAR(36) 類型的 id 列來存儲 UUID 值,并將它默認值設置為 UUID() 函數的返回值。這意味著每當插入新記錄時,MySQL 將自動生成一個唯一的 UUID 并將其填充到 id 列中。
需要注意的是,使用 UUID 作為主鍵可能會導致性能下降,因為它比整數類型更長,需要更多的存儲空間。此外,UUID 的隨機性也可能會導致數據庫碎片化,最終影響查詢性能。所以,我們應該在考慮使用 UUID 時仔細權衡利弊,并根據實際需求做出選擇。