2012-03-20 87 views
2

我正在編寫一個消息傳遞系統,我不想顯示短ID,有沒有什麼方法可以讓MySQL生成一個唯一的UID,如UID所示?MySQL生成的UID

我需要知道如何只用MySQL來完成這項工作,沒有PHP,JavaScript或其他任何東西,只是MySQL,如果不行的話,很好,我只是想確定一下。

對不起,我應該說得更清楚,當我說的UID我只是指「唯一ID」,但我只需要一個多位數字,例如, 914888629,3890692140

回答

3

如果你不想全局唯一ID,只是一個唯一的ID(不同數量的每次調用時間),那麼你可以創建一個表,只有一個整數AUTO_INCREMENT非空列,發出以下兩個查詢:

INSERT INTO tbl1 SET col1 = NULL; 
SELECT LAST_INSERT_ID(); 

要在1以外的其他開始數,例如,在10位開始,設置這樣的:

ALTER TABLE tbl1 AUTO_INCREMENT = 1000000000 
+0

對不起,我應該更使它清楚,當我說UID我只是mea n唯一ID,但我只需要一個多位數字,例如914888629,3890692140 – 2012-03-20 15:17:35

+1

嘗試用multidigit數字初始化auto_increment - ALTER TABLE table_name AUTO_INCREMENT = 100000000 – Devart 2012-03-20 17:04:41

+0

@AndréFigueira,我已更新了我的答案。謝謝,Devart。 – 2012-03-20 17:10:15

13

MySQL有一個功能。嘗試:

SELECT UUID();