我正在开发一个允许用户在线创建个人资料的网站。我想知道是否将MySQL的AUTO_INCREMENT
用作我的用户ID是正确的选择,同时考虑到将来可能需要在多个服务器上复制数据库?
例如,在像Twitter或Facebook这样的网站上,您会使用此方法作为userId吗?
我之前尝试过使用PHP生成userId。我使用了类似于以下代码:
function generateID() {
$possible = "1234567890";
$code = "";
$characters = mt_rand(7,14);
$i = 0;
while ($i < $characters) {
$code .= substr($possible, mt_rand(0, strlen($possible)-1), 1);
$i++;
}
return $code;
}
这提供了我需要的值类型,但我总是不得不从数据库中检查该ID是否尚不存在。
难道没有更好的方法吗?