-- ================================================================ -- V1.0.5 清理非湖北省区域数据(幂等,可重复执行) -- 执行说明:先确认湖北省 region_id=42;若当前仅含湖北省则删除 0 行 -- PROD 对比: 当前 pg_region 仅湖北省及其下级(120 条),执行本脚本将删除 0 行 -- ================================================================ -- 0. 确认湖北省的 region_id(预期 region_id = 42) SELECT region_id, region_name, parent_id, ancestors FROM pg_region WHERE region_name = '湖北省'; -- 1. 预检查:将要删除的行数(非湖北省及其下级的区域;湖北省 region_id=42,其下级 ancestors 以 0,42 开头) SELECT COUNT(*) AS '待删除的区域数量(非湖北)' FROM pg_region WHERE region_id != 42 AND ancestors NOT LIKE '0,42%'; -- 2. 物理删除:非湖北省及其下级(保留 region_id=42 及 ancestors 以 0,42 开头的行) DELETE FROM pg_region WHERE region_id != 42 AND ancestors NOT LIKE '0,42%'; -- 3. 删除其他省份根节点(parent_id=0 且 region_id 非 42) DELETE FROM pg_region WHERE parent_id = 0 AND region_id != 42; -- 4. 验证结果 SELECT COUNT(*) AS '剩余区域数量' FROM pg_region;