【发布时间】:2012-03-20 14:13:18
【问题描述】:
我正在编写一个消息传递系统,我不想显示短 ID,MySQL 有什么方法可以生成一个唯一的 UID,正如 UID 所建议的那样?
我需要知道如何只使用 MySQL,而不使用 PHP、JavaScript 或其他任何东西,只使用 MySQL,如果不可能,好吧,我只是想确定一下。
抱歉,当我说 UID 时,我应该更清楚地说明我的意思是“唯一 ID”,但我只需要多位数字,例如914888629、3890692140
【问题讨论】:
我正在编写一个消息传递系统,我不想显示短 ID,MySQL 有什么方法可以生成一个唯一的 UID,正如 UID 所建议的那样?
我需要知道如何只使用 MySQL,而不使用 PHP、JavaScript 或其他任何东西,只使用 MySQL,如果不可能,好吧,我只是想确定一下。
抱歉,当我说 UID 时,我应该更清楚地说明我的意思是“唯一 ID”,但我只需要多位数字,例如914888629、3890692140
【问题讨论】:
MySQL 有一个功能。试试:
SELECT UUID();
【讨论】:
如果您不想要全局唯一 ID,只需要一个唯一 ID(每次调用时使用不同的编号),那么您可以创建一个只有整数 auto_increment 非空列的表并发出以下两个查询:
INSERT INTO tbl1 SET col1 = NULL;
SELECT LAST_INSERT_ID();
要从 1 以外的数字开始数字,例如,从 10 位数字开始,设置如下:
ALTER TABLE tbl1 AUTO_INCREMENT = 1000000000
【讨论】: