Php #1062-重复输入';81057';对于键';初级';

Php #1062-重复输入';81057';对于键';初级';,php,mysql,wordpress,phpmyadmin,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:"7b1ce3d73b70f1a7246e7b76a35fb5

我不能流利地使用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'
我真的不知道这意味着什么以及如何改变它。我发现有一个重复的条目,它与主键有关,主键设置在选项_id上

我不明白的是,为什么它不只是将条目添加到数据库中并自动增加它们——这是它设置的吗?另外,如何解决问题并添加数据库


请帮忙

自动增量
是默认值。如果为字段指定一个值,则将使用该值


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

源数据库中的表似乎有一些不一致之处,因为您只是试图将所有记录复制到新数据库中。 检查源表中是否有多条记录具有相同的
选项\u id
,如果有,请尝试解析这些记录,然后再次尝试导入


据我所知,您试图手动传输整个数据库,在这种情况下,自动增量将无法工作,因为您将破坏模型实体之间的关系。

在我看来,您有两种选择

  • 省略主键值,允许mysql创建新行并自动递增。当然,这需要您指定列

    INSERT INTO  `wp_options`(column2, column3, etc)
    VALUES('_wc_session_6f1ee0a5a9d89e47f7941c9e3b3e1fed', ...);
    
  • 注意,我遗漏了主键

  • 如果需要将数据添加到该特定行中,请改为执行
    UPDATE

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

  • 它不会使用自动递增键,因为您特别告诉它在insert语句中使用键值
    81057
    。它明确说明您要插入id为
    81057
    的记录,该记录已经存在。由于您的
    id
    列是主键,因此它拒绝第二个(重复)条目。错误消息已清除,重复81057。。。对表、索引和主键的含义进行研究