【问题标题】:ERROR 1062 (23000): Duplicate entry '@localhost.localdomain' for key 'PRIMARY'错误 1062 (23000): 重复条目 '@localhost.localdomain' 键 'PRIMARY'
【发布时间】:2014-01-23 10:55:33
【问题描述】:

我错误地输入了这个mysql命令:

INSERT INTO `alias` (`source`, `destination`) VALUES ("@localhost.localdomain", "@localhost"), ("@localhost", "email1@domain1.com");

我想从 mysql 数据库中删除或更新电子邮件地址 email1@domain1.com,因为当我尝试插入时:

INSERT INTO `alias` (`source`, `destination`) VALUES ("@localhost.localdomain", "@localhost"), ("@localhost", "goodaccount@domain.com");

我收到了错误:

ERROR 1062 (23000): Duplicate entry '@localhost.localdomain' for key 'PRIMARY'

【问题讨论】:

  • 请为 alias 表显示 CREATE TABLE。

标签: mysql


【解决方案1】:

字段sourcealias 表中的主键。而且您不能一次又一次地在 PK 字段中插入相同的值。当您再次在 PK 字段中插入相同的值时,您会收到此错误

您可以像这样更新电子邮件

UPDATE alias SET destination = 'goodaccount@domain.com' WHERE source  = "@localhost";

删除

DELETE FROM alias WHERE destination = 'email1@domain1.com' AND source  = "@localhost";

【讨论】:

    【解决方案2】:

    您的插入有错误。你插入两个!!行,但您只需要一个。

    INSERT INTO `alias` (`source`, `destination`) VALUES  ("@localhost", "goodaccount@domain.com");
    DELETE FROM `alias` WHERE `destination` = 'email1@domain1.com' and `source` = '@localhost.localdomain';
    

    【讨论】:

      猜你喜欢
      • 2020-02-05
      • 1970-01-01
      • 1970-01-01
      • 2018-07-11
      • 1970-01-01
      • 1970-01-01
      • 2017-11-28
      • 2014-02-02
      • 1970-01-01
      相关资源
      最近更新 更多