wlzboy
2025-11-16 f67945d53b20f6a45ae50b27d74c966eb1355bb4
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
-- 移除tb_vehicle_info表的dept_id字段
-- 说明:车辆与部门的关联关系现已完全迁移到tb_vehicle_dept多对多关系表
 
-- 1. 数据迁移检查(确保所有数据已迁移到tb_vehicle_dept表)
SELECT '数据迁移检查' AS 检查项,
       (SELECT COUNT(*) FROM tb_vehicle_info WHERE dept_id IS NOT NULL) AS 原表有dept_id的记录数,
       (SELECT COUNT(DISTINCT vehicle_id) FROM tb_vehicle_dept) AS 关联表中的车辆数;
 
-- 2. 查看未迁移的数据(如果有)
SELECT vehicle_id, vehicle_no, dept_id, '未迁移到tb_vehicle_dept' AS 状态
FROM tb_vehicle_info
WHERE dept_id IS NOT NULL
  AND vehicle_id NOT IN (SELECT DISTINCT vehicle_id FROM tb_vehicle_dept);
 
-- 3. 如果上面有未迁移的数据,先执行迁移(可选)
-- INSERT INTO tb_vehicle_dept (vehicle_id, dept_id, create_time)
-- SELECT vehicle_id, dept_id, NOW()
-- FROM tb_vehicle_info
-- WHERE dept_id IS NOT NULL
--   AND vehicle_id NOT IN (SELECT DISTINCT vehicle_id FROM tb_vehicle_dept);
 
-- 4. 删除dept_id字段
ALTER TABLE tb_vehicle_info DROP COLUMN dept_id;
 
-- 5. 验证字段已删除
SHOW COLUMNS FROM tb_vehicle_info;