如果是重复键,如何确定哪个主键(多个)触发了它

时间:2010-11-03 12:35:10

标签: php mysql duplicates

我正在我的网站上使用用户数据库构建一个简单的注册应用程序。我正在使用PHP和MySQL。我想要输入“用户名”和“电子邮件”。两者都是我数据库中的主键。我显然不希望同样的。如果a)已经使用了用户名,并且b)电子邮件已被使用,我该如何向用户提供反馈。我知道我可以对两者进行查询,但我认为这可能是多余的(2次搜索和插入)。如果我尝试插入重复的密钥,有没有办法从MySQL接收反馈。就像在,这是他在插入失败的领域。如果没有,这样做的最佳方式/做法是什么?

谢谢大家。

1 个答案:

答案 0 :(得分:1)

您可以做的最好是执行以下操作:

$result = mysql_query( "insert into yourtable (`username`, `email`) values ('usernamesubmitted','emailsubmitted')");
if (!$result) {
      die('Invalid query: ' . mysql_error());
}

这里的假设是,如果要插入的字段之一是主键并且正在被重复,则插入查询将失败。在这种情况下....输出一条消息 - 消息将包含您在这种情况下可以获得的最大信息,然后您可以适当地处理它