2012-03-20 82 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();