【问题标题】:SQL Database Error Occurred : Error Number: 1062发生 SQL 数据库错误:错误号:1062
【发布时间】:2015-01-02 11:26:24
【问题描述】:

我尝试向 phpmyadmin 数据库插入数据时出错

email 列不是 answer 表中的主键或唯一键。但它是另一个表的主键。

为什么会这样?

 A Database Error Occurred

 Error Number: 1062
 Duplicate entry 'work@gmail.com' for key 'email'
 INSERT INTO `answer` (`ansbody`, `ansaccept`, `ansrep`, `ansqid`, `ansemail`) VALUES ('aaa',                     'false', 0, '15', 'work@gmail.com')

 Filename: C:\xampp\htdocs\StackTrace\system\database\DB_driver.php
 Line Number: 330

【问题讨论】:

  • 它不是一个“phpmyadmin”数据库。 phpmyadmin 是一个使用 mysql 数据库的工具。
  • 不是唯一键吗?错误消息另有说明:-?
  • 请运行 show index from answer 并将输出添加到您的问题中。
  • @ÁlvaroG.Vicario 先生,我按照您的指示弄清楚了。显示答案中的索引,它显示许多键,但不显示表中许多属性中的主键。所以我放弃了能力并重新创建。然后它的工作原理。谢谢
  • 所以:1)您的表没有主键(一种不好的做法)2)您可能在 email 上有一个唯一索引(就像错误消息所说的那样)但我们永远不会肯定知道。

标签: php mysql


【解决方案1】:

您可以尝试插入已具有值 work@gmail.com 的唯一列 email 如果不是这种情况,这可能会对您有所帮助 Database Error Occurred Error Number: 1062

【讨论】:

    【解决方案2】:

    您将电子邮件作为主键,并且数据库表中可能已经存在此电子邮件的记录。

    【讨论】:

    • 你只是想?!?!?你应该确定,“重复条目..”有错误
    • @VipulHadiya 你不能确定,除非你看到提出问题的结构人可能将其他列设置为主键,所以你只能猜测。
    • 你看过这个:在他的问题中,重复条目'work@gmail.com' for key 'email'?
    • 'email' 不是这个表的主键(Answer) 但它是另一个表的主键(用户)
    • 表用户不是问题,您在表中添加值(答案)可以与我分享表(答案)结构吗?
    猜你喜欢
    • 2012-10-31
    • 2019-03-14
    • 1970-01-01
    • 1970-01-01
    • 2011-10-26
    • 1970-01-01
    • 2017-01-10
    • 2018-09-18
    相关资源
    最近更新 更多