-2

我正在创建一个edit_setting页面,允许用户更新他们的个人资料。我能够更新每个字段,但电子邮件地址字段给了我一个错误。

密钥 email_address 的 DUPLICATE 条目

如何解决这个错误?这是处理电子邮件字段的一段代码。如果您想要其他代码,请告诉我。

account_setting.php

     $edit_query = mysql_query("UPDATE user SET first_name= '$fname', last_name= '$lname', address= '$country', email_address = '$email', specialization_name= '$spec', interest = '$aboutme' WHERE user_id = '$userid'") or die(mysql_error());


<td><label for="email"><span class="Fields">Email Address</span></label></td>
  <td><input type="text" name="email" placeholder="Email_Address" value="<?php echo $email; ?>" /></td>
4

3 回答 3

1

这意味着对email_address单个电子邮件地址禁止多条记录的字段存在约束。如果它是主键,那么您需要评估哪个字段最能唯一标识记录(代理键)。如果它是唯一约束,那么您可以删除该约束。

于 2013-03-26T20:51:15.077 回答
0

听起来您在 email_address 上有一个唯一键。如果从 MySQL 中的数据卫生角度来看这是所需的,那么除了调整代码以正确处理此类错误情况外,您实际上无能为力。

如果不希望表中的每条记录的电子邮件地址都是唯一的,那么您可以将索引类型更改为不唯一。

于 2013-03-26T20:52:57.807 回答
0

email_address field is unique and you are trying to insert duplicate entry

于 2013-03-26T20:51:49.017 回答