迁移后Wordpress无法写入数据库

时间:2016-01-21 16:34:16

标签: mysql wordpress

我们将WooCommerce网上商店迁移到新服务器,并且数据库和Wordpress的通信存在问题,似乎数据库以某种方式损坏了。 当我将DB导入新服务器的空DB时,它会给出错误

1062 - 键'PRIMARY'重复输入'0'

前端看起来很好,但很多区域都不起作用(我相信写入db的地方) - 例如。评论,文件上传和订单 - 这给出了502错误。

我检查了error_log,它给出了一些像这样的错误

[2016年1月21日16:28:27 UTC]WordPressadatbázishiba重复条目'0'表示关键'PRIMARY'lekérdezésben插入wp_posts post_authorpost_datepost_date_gmtpost_contentpost_content_filteredpost_titlepost_excerptpost_statuspost_typecomment_status,{ {1}},ping_statuspost_passwordpost_nameto_pingpingedpost_modifiedpost_modified_gmt,{{1 }},post_parentmenu_order)VALUES(1,'2016-01-21 17:28:27','2016-01-21 16:28:27','',''' ,'订单 - január21,2016@ 05:28 DU。','Próba','wc-pending','shop_order','open','closed','order_56a1072beeea3','rendeles-jan-21-2016 -0428-pm','','','2016-01-21 17:28:27','2016-01-21 16:28:27',0,0,'','')készítetterequire ('wp-blog-header.php'),require_once('wp-includes / template-loader.php'),do_action('template_redirect'),call_user_func_array,WC_AJAX :: do_wc_ajax,do_action('wc_ajax_checkout'),call_user_func_array, WC_AJAX :: checkout,WC_Checkout-> process_checkout,WC_Checkout-> create_order,wc_create_order,wp_insert_post

所以我认为它无法写入数据库中的相应字段,并且失败了。

任何想法,我怎么能解决这个问题?

1 个答案:

答案 0 :(得分:1)

问题很可能是表格字段的某些属性(如AUTO_INCREMENT)在复制架构时没有被复制。

如果您使用的是phpMyAdmin,则可以在数据库中找到该表,然后单击Structure选项卡。对于wp_posts,您可能会看到类似这样的内容:

enter image description here

在这种情况下,ID是标识列,此表设置为AUTO_INCREMENT。如果表中缺少,请单击Change按钮,您将看到设置它的选项。

不幸的是,如果你有一个表缺少AUTO_INCREMENT,你可能还有其他表 - 如果缺少一部分模式,其他重要的东西(唯一键,索引等)也可能被遗漏 - 所以你应该重新评估你的数据库导入脚本,看看你是否可以导出完整的数据库模式。