peixue-dev/peidu/Archive/一次性文件/[一次性]修复订单地址数据-2026-01-26.sql

48 lines
1.4 KiB
SQL
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

-- ========================================
-- 修复订单表中的无效地址数据
-- 问题service_address字段存储了数字453535
-- 解决将无效地址更新为NULL让前端使用逆地理编码
-- ========================================
-- 1. 查看当前有多少订单的地址是纯数字
SELECT
COUNT(*) as total_invalid_address,
GROUP_CONCAT(DISTINCT service_address) as invalid_addresses
FROM `order`
WHERE service_address REGEXP '^[0-9]+$';
-- 2. 查看这些订单的详细信息
SELECT
id,
order_no,
student_name,
service_address,
service_date,
status
FROM `order`
WHERE service_address REGEXP '^[0-9]+$'
ORDER BY id DESC
LIMIT 20;
-- 3. 将纯数字的地址更新为NULL
-- 注意:执行前请先备份数据!
UPDATE `order`
SET service_address = NULL
WHERE service_address REGEXP '^[0-9]+$';
-- 4. 验证修复结果
SELECT
COUNT(*) as total_null_address
FROM `order`
WHERE service_address IS NULL OR service_address = '';
-- ========================================
-- 说明:
-- 1. 地址为NULL时前端会自动使用逆地理编码获取真实地址
-- 2. 如果需要保留原始数据,可以先创建备份表
-- 3. 建议在订单创建时就使用逆地理编码获取正确地址
-- ========================================
-- 可选:创建备份表
-- CREATE TABLE `order_backup_20260126` AS SELECT * FROM `order`;