我正在创建一个网站,该网站将使用贡献者的帖子、评论等进行更新,我想知道创建 id 以防止在任何表中出现重复的最佳方法。我目前正在使用时间戳以及最后的唯一编号,例如:
$time = time();
$id= time().'-'.mt_rand(1000, 9999);
输出:
1378291391-1167、1378294733-8990、1378294934-3336等等等等等等
任何人都可以看到这种类型的 id 创建系统有问题吗?
我会通过使用来增加独特性
microtime
() 代替time()
如果允许使用字符串,则将微时间附加到uniqid()
函数
并使用具有较大值的 mt_rand ( mt_rand(0, 10000000)
)
使用自动增量如下:
CREATE TABLE tablename(
id MEDIUMINT NOT NULL AUTO_INCREMENT,
col1 CHAR(30) NOT NULL,
PRIMARY KEY (id)
) ENGINE=MyISAM;
来源:http ://dev.mysql.com/doc/refman/5.0/en/example-auto-increment.html