2013-01-15 262 views
0

我正在设计一个用户登录的网站。在创建帐户时,我检查用户名是否已经存在。是否应该在脚本内部进行检查,还是应该将用户名作为表的主键?我正在使用MySQL和PHP。登录到网站

因此,我应该编写一个查询数据库的脚本来检查提供的用户名是否已被使用,或者我应该尝试插入给定的用户名并将该字段作为主键,如果失败则意味着用户名正在使用中?

+2

我不会让用户名成为主键,但我会建议一个唯一的约束...... –

+0

您可以将唯一约束添加到用户名列而不必将其作为主键。 – David

+0

取决于用户帐户是否可以取消激活,然后在稍后为“新”用户重新激活。 –

回答

1

我会采取在数据库中的用户名字段上设置一个唯一约束的方法,然后在数据库上尝试插入。不要首先检查现有的用户名,因为这只是一个不必要的查询。

然后,您可以评估mysql响应以确定插入是否因重复密钥失败或是否出现其他问题。