#1062 - 重复输入' 81057'关键' PRIMARY'

时间:2015-07-13 09:15:30

标签: php mysql wordpress phpmyadmin

我不熟练使用phpmyadmin,所以请保持温和。

我过去转移了wordpress网站,但他们有小型数据库。我现在已经将一个新的客户端站点移动到我的主机,它运行时出现此错误:

INSERT INTO  `wp_options`  VALUES ( 81057, 
'_wc_session_6f1ee0a5a9d89e47f7941c9e3b3e1fed',
'a:20:{s:4:"cart";s:309:"a:1:{s:32:"7b1ce3d73b70f1a7246e7b76a35fb552";a:9:{s:10:"product_id";i:2103;s:12:"variation_id";s:0:"";s:9:"variation";s:0:"";s:8:"quantity";i:1;s:10:"line_total";d:23;s:8:"line_tax";i:0;s:13:"line_subtotal";d:23;s:17:"line_subtotal_tax";i:0;s:13:"line_tax_data";a:2:{s:5:"total";a:0:{}s:8:"subtotal";a:0:{}}}}";s:15:"applied_coupons";s:6:"a:0:{}";s:23:"coupon_discount_amounts";s:6:"a:0:{}";s:19:"cart_contents_total";d:23;s:20:"cart_contents_weight";i:0;s:19:"cart_contents_count";i:1;s:17:"cart_contents_tax";i:0;s:5:"total";i:0;s:8:"subtotal";d:23;s:15:"subtotal_ex_tax";d:23;s:9:"tax_total";i:0;s:5:"taxes";s:6:"a:0:{}";s:14:"shipping_taxes";s:6:"a:0:{}";s:13:"discount_cart";i:0;s:14:"discount_total";i:0;s:14:"shipping_total";i:0;s:18:"shipping_tax_total";i:0;s:9:"fee_total";i:0;s:4:"fees";s:6:"a:0:{}";s:10:"wc_notices";N;}',
no' ) ;`

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

我真的不知道这意味着什么以及如何改变它。我知道有一个重复的条目,它与主键有关 - 它在option_id上设置。

我不知道为什么它不会只是将条目添加到数据库中并自动递增它们 - 它设置为什么?另外,我如何解决问题并添加数据库?

请帮忙!

3 个答案:

答案 0 :(得分:0)

AUTO_INCREMENT默认值。如果您为字段指定了值,则会使用它。

您可以省略insert语句中的值或使用NULL。

答案 1 :(得分:0)

由于您只是尝试将所有记录复制到新数据库,因此源数据库中的表看起来有些不一致。 检查源表中是否存在多个具有相同option_id的记录,是否有一些尝试解决它们,然后再次尝试导入。

据我了解,您正在尝试手动传输整个数据库,在这种情况下AUTO_INCREMENT只是不会工作,因为您将破坏模型实体之间的关系。

答案 2 :(得分:0)

我看到它的方式,你有两种选择。

  1. 省略主键值并允许mysql创建一个新行并自动增加它。当然,这需要您指定列。

    INSERT INTO  `wp_options`(column2, column3, etc)
    VALUES('_wc_session_6f1ee0a5a9d89e47f7941c9e3b3e1fed', ...);
    
  2.   

    请注意,我遗漏了主键

    1. 如果需要将数据添加到该特定行,请改为UPDATE

      UPDATE wp_options SET column2='_wc_session_6f1ee0a5a9d89e47f7941c9e3b3e1fed', 
      column3='something else', ...
      WHERE column1=81057