我正在创建一个网站,将更新贡献者帖子,评论等等,我想知道创建id的最佳方法,以防止在任何表中出现重复。我现在正在使用时间戳以及最后一个唯一的数字,例如:
$time = time();
$id= time().'-'.mt_rand(1000, 9999);
输出:
1378291391-1167,1378294733-8990,1378294934-3336等,等等。
任何人都可以看到此类ID创建系统出现问题吗?
答案 0 :(得分:1)
我会通过使用
来增加唯一性 microtime
()而不是time()
如果允许字符串,请使用uniqid()
函数附加microtime
并使用值较大的mt_rand(mt_rand(0, 10000000)
)
答案 1 :(得分:-1)
使用自动增量如下:
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