🐛 修正回填脚本快照校验的排序规则混用
This commit is contained in:
@@ -22,8 +22,9 @@
|
||||
-- ⑤ 逻辑删除的配载单同样回填:票面口径只有 driver_id IS NULL,不额外收窄范围;
|
||||
-- 这些单不会回到列表,回填对它们无副作用。
|
||||
-- ⑥ 跨表比较显式 COLLATE:blade_loading_manage.driver_phone / tenant_id 是 utf8mb4_0900_ai_ci,
|
||||
-- blade_transport_driver.mobile / tenant_id 是 utf8mb4_general_ci;
|
||||
-- blade_transport_driver.mobile / tenant_id 与存档表都是 utf8mb4_general_ci;
|
||||
-- 不显式 COLLATE 会抛 ERROR 1267 Illegal mix of collations,只有真跑库才会暴露。
|
||||
-- 第 2.4 节拿存档表比 driver_phone 同样要带 COLLATE utf8mb4_0900_ai_ci。
|
||||
-- ⑦ 取数与写入全在 SQL 内完成,不经 JSON / 客户端中转:19 位雪花 ID 过 JSON 会丢精度。
|
||||
-- ⑧ 分批执行(默认每批 500 行),每批独立提交,中断后重跑从剩余 NULL 行继续。
|
||||
--
|
||||
@@ -151,7 +152,7 @@ SELECT COUNT(*) AS wrong_driver_id
|
||||
SELECT COUNT(*) AS snapshot_rewritten
|
||||
FROM blade_loading_manage_driver_id_bak_20261028 b
|
||||
JOIN blade_loading_manage w ON w.id = b.loading_id
|
||||
WHERE NOT (w.driver_phone <=> b.driver_phone)
|
||||
WHERE NOT (w.driver_phone <=> b.driver_phone COLLATE utf8mb4_0900_ai_ci)
|
||||
OR NOT (w.update_time <=> b.update_time_before);
|
||||
|
||||
-- 2.5 冲突清单:同号多档案,这些行被跳过(期望 0 行;有输出就是「为什么没填」的答案)
|
||||
|
||||
@@ -24,8 +24,9 @@
|
||||
-- ⑤ 逻辑删除的运单同样回填:票面口径只有 driver_id IS NULL,不额外收窄范围;
|
||||
-- 这些单不会回到列表,回填对它们无副作用。
|
||||
-- ⑥ 跨表比较显式 COLLATE:blade_waybill.driver_phone / tenant_id 是 utf8mb4_0900_ai_ci,
|
||||
-- blade_transport_driver.mobile / tenant_id 是 utf8mb4_general_ci;
|
||||
-- blade_transport_driver.mobile / tenant_id 与存档表都是 utf8mb4_general_ci;
|
||||
-- 不显式 COLLATE 会抛 ERROR 1267 Illegal mix of collations,只有真跑库才会暴露。
|
||||
-- 第 2.4 节拿存档表比 driver_phone 同样要带 COLLATE utf8mb4_0900_ai_ci。
|
||||
-- ⑦ 取数与写入全在 SQL 内完成,不经 JSON / 客户端中转:19 位雪花 ID 过 JSON 会丢精度。
|
||||
-- ⑧ 分批执行(默认每批 500 行),每批独立提交,中断后重跑从剩余 NULL 行继续。
|
||||
--
|
||||
@@ -154,7 +155,7 @@ SELECT COUNT(*) AS wrong_driver_id
|
||||
SELECT COUNT(*) AS snapshot_rewritten
|
||||
FROM blade_waybill_driver_id_bak_20261028 b
|
||||
JOIN blade_waybill w ON w.id = b.waybill_id
|
||||
WHERE NOT (w.driver_phone <=> b.driver_phone)
|
||||
WHERE NOT (w.driver_phone <=> b.driver_phone COLLATE utf8mb4_0900_ai_ci)
|
||||
OR NOT (w.update_time <=> b.update_time_before);
|
||||
|
||||
-- 2.5 冲突清单:同号多档案,这些行被跳过(期望 0 行;有输出就是「为什么没填」的答案)
|
||||
|
||||
Reference in New Issue
Block a user