WordPress error_log被SQL错误填满:缺失wp_wc_customer_lookup表如何解决?
修复WooCommerce缺失
wp_wc_customer_lookup表的数据库错误 问题描述
每次搜索客户编号时,WordPress根目录下的error_log会抛出如下数据库错误:
[16-Dec-2022 14:12:35 UTC] WordPress database error Table 'store_wp557.wp_wc_customer_lookup' doesn't exist for query SELECT SUM(wps.total_sales) FROM `wp_wc_customer_lookup` AS wpl JOIN `wp_wc_order_stats` as wps ON wpl.customer_id = wps. customer_id WHERE wpl.user_id=122442 made by require('wp-blog-header.php'), require_once('wp-load.php'), require_once('wp-config.php'), require_once('wp-settings.php'), do_action('wp_loaded'), WP_Hook->do_action, WP_Hook->apply_filters, WC_Form_Handler::process_login, wp_signon, do_action('wp_login'), WP_Hook->do_action, WP_Hook->apply_filters, XLWCTY_Common::update_user_order_count, XLWCTY_Common::get_customer_total_spent
修复方案
1. 优先用WooCommerce自带工具重建表
wp_wc_customer_lookup是WooCommerce核心统计数据表,缺失多因更新不完整或迁移遗漏:
- 登录WordPress后台,进入WooCommerce > 状态 > 工具
- 找到「客户查找表」工具,点击重建按钮,等待系统自动创建并填充数据
2. 手动创建表(自动重建失效时)
如果自动重建无效果,可直接执行SQL语句创建表(注意替换wp_为你的实际数据库前缀):
CREATE TABLE `wp_wc_customer_lookup` ( `customer_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `user_id` bigint(20) unsigned DEFAULT NULL, `username` varchar(60) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `first_name` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `last_name` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `email` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL, `date_registered` datetime DEFAULT NULL, `country` char(2) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `postcode` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `city` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `state` char(2) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `date_last_active` datetime DEFAULT NULL, `date_last_purchase` datetime DEFAULT NULL, `total_spent` decimal(19,4) NOT NULL DEFAULT '0.0000', `order_count` bigint(20) unsigned NOT NULL DEFAULT '0', PRIMARY KEY (`customer_id`), UNIQUE KEY `user_id` (`user_id`), KEY `email` (`email`), KEY `date_registered` (`date_registered`), KEY `date_last_active` (`date_last_active`), KEY `date_last_purchase` (`date_last_purchase`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
执行完成后,回到WooCommerce工具页面再次点击「重建」,让系统补全表内数据。
3. 排查第三方插件冲突
错误调用链显示是XLWCTY_Common(大概率是WooCommerce Thank You Page Customizer插件)触发的查询:
- 临时禁用该插件,查看错误是否消失
- 若消失,更新插件至最新版本,或联系开发者获取兼容补丁
内容的提问来源于stack exchange,提问作者x80
相关产品推荐
相关产品推荐

