在注册用户时,生成唯一ID号的最快方法是什么

时间:2011-02-08 作者:Nohl

我有一个客户,他想注册用户,并在用户完成注册后给他们一个唯一的ID号。(会员号之类的)

我是否可以将WP成员表设置为在高10位数范围内开始id号?

用户体验将是:

用户将访问该网站,用户将注册,WP将发布一个10位数的id号

3 个回复
最合适的回答,由SO网友:Jan Fabry 整理而成

这个ID 的列users 表是AUTO_INCREMENT, 所以you can set the base counter to a high number:

ALTER TABLE wp_users AUTO_INCREMENT = 1000000000;
所有新用户都将具有ID 大于此值的。调用此操作是安全的,如果意外将其设置为较低的数字,则不会发生任何事情(在InnoDB 表),或将其设置为现有的最大数字+1(在MyISAM 表)。

SO网友:Peter Rowell

ID字段肯定会起作用。如果你想要一个更大的数字,你可以加上10000,它仍然是唯一的。

这样做的其他方式会更多地参与进来。您可以在wp\\u options表中存储一个值,然后进行fetch、increment、save操作,但您有一个很小的机会窗口,在这个窗口中,两个人可能会以相同的数字结束,因此您需要检查该值,并在发生冲突时重复该操作。您可以从一些选定的用户信息位生成MD5(或SHA1)哈希,但这会给您带来一个大而讨厌的字符串。这在跨多个系统生成UUID(通用唯一ID)时非常有用,因为冲突的可能性非常小。

SO网友:kaiser

我想也可以很容易地连接到注册过程(将预数据get提交给DB),只需更改user_registered 列来自wp_usermeta 表中有一些preg\\u替换为空白。只要你不在同一秒内提交它们,它们就会是唯一的。该值在注册过程后不会被任何更改,如果您需要,它将允许按注册时间排序。

结束

相关推荐

Corrupt Wordpress Database

我认为这是最奇怪的文字印刷问题。一个拥有大量帖子数据库的客户网站已经有了自己的想法。前一分钟一切似乎都很好,接下来的帖子、类别和标签都不见了。此时仪表板告诉我9个类别中有2309个帖子,但当我单击admin中的categories链接时,列表中没有任何帖子。我可以在admin中看到所有帖子,但尽管它们过去被分配到类别并列出标签,但现在它们都“未分类”,没有标签。很明显,wordpress数据库在某种程度上已经损坏,但从哪里开始尝试修复呢!?以下是我迄今为止测试的内容:插件–我关闭了所有当前的插件。主题–我