【问题标题】:#1062 - duplicate entry '' for key 'primary'#1062 - 键 'primary' 的重复条目 ''
【发布时间】:2013-09-30 22:32:51
【问题描述】:
Table 1 - leads
column 1 - lead_source_description

Table 2 - leads_cstm
column 2 -referrer_c 

我正在尝试使用以下查询将值从 table2.column2 复制到 table1.column1

INSERT INTO leads (`lead_source_description`)
SELECT `referrer__c`
FROM leads_cstm

我知道这是一项简单的任务,并且已经被问过了。但我收到以下错误。

#1062 - Duplicate entry '' for key 'PRIMARY'

【问题讨论】:

  • 如果您希望它覆盖现有值(尽管 '' 可能不是很好)使用 REPLACE INTO 而不是 INSERT INTO
  • @zero323 代码刻度是为了让代码不引起读者注意。检查this link
  • @StephLocke 虽然它说有 20k 行受到影响,但它不起作用。我使用了`INSERT INTO Leads (lead_source_description) SELECT referrer__c FROM Leads_cstm`
  • T1.C1 是主键吗? t2.c2 有多个空行吗? Poss Duplicate
  • 你是什么 PK 列,你要插入什么?您真的要更新现有的 t1.c1 值或向 t1 插入全新的行吗? (现在看来您正在插入新行,但只插入一列。如果 t1.PK 不是自动递增列插入将失败。)

标签: mysql sql mysql-error-1062


【解决方案1】:

您的“潜在客户”表必须有一个自动递增的 ID 值,并且您需要像这样插入:

INSERT INTO leads (SELECT NULL, table1.column1 , '', ....) // all the column of leads table shoudl be inserted 

【讨论】:

    【解决方案2】:
    INSERT INTO leads (`lead_source_description`)
    SELECT DISTINCT `referrer__c` FROM leads_cstm
    

    【讨论】:

    • 请展开并解释您的答案以及您做出这些更改的原因。代码示例本身并没有什么帮助。
    • 如果在leads_cstm 中存在重复的条目,在插入到leads 时可能会导致问题。所以这个查询获取不同的值。
    猜你喜欢
    • 2012-07-23
    • 1970-01-01
    • 2019-07-21
    • 2017-08-07
    • 2015-10-01
    • 2014-09-04
    • 2015-06-09
    • 2023-03-07
    相关资源
    最近更新 更多