30 lines
1.1 KiB
MySQL
30 lines
1.1 KiB
MySQL
|
|
-- 更新pro_mobile_attendance_data表的cfg_id,根据project_id从attendance_cfg中找到默认配置ID
|
|||
|
|
UPDATE pro_mobile_attendance_data pmad
|
|||
|
|
INNER JOIN (
|
|||
|
|
SELECT ac.project_id, ac.id AS cfg_id
|
|||
|
|
FROM attendance_cfg ac
|
|||
|
|
WHERE ac.is_default = 1 AND ac.enabled = 1
|
|||
|
|
) ac ON pmad.project_id = ac.project_id
|
|||
|
|
SET pmad.cfg_id = ac.cfg_id
|
|||
|
|
WHERE pmad.att_device = 'device' AND pmad.cfg_id = 0;
|
|||
|
|
|
|||
|
|
-- 测试查询:查看更新效果
|
|||
|
|
SELECT pmad.id, pmad.project_id, pmad.cfg_id, ac.id AS new_cfg_id
|
|||
|
|
FROM pro_mobile_attendance_data pmad
|
|||
|
|
LEFT JOIN (
|
|||
|
|
SELECT ac.project_id, ac.id
|
|||
|
|
FROM attendance_cfg ac
|
|||
|
|
WHERE ac.is_default = 1 AND ac.enabled = 1
|
|||
|
|
) ac ON pmad.project_id = ac.project_id
|
|||
|
|
WHERE pmad.att_device = 'device' AND pmad.cfg_id = 0;
|
|||
|
|
|
|||
|
|
-- 分批更新(可选,适用于大数据量)
|
|||
|
|
UPDATE pro_mobile_attendance_data pmad
|
|||
|
|
INNER JOIN (
|
|||
|
|
SELECT ac.project_id, ac.id AS cfg_id
|
|||
|
|
FROM attendance_cfg ac
|
|||
|
|
WHERE ac.is_default = 1 AND ac.enabled = 1
|
|||
|
|
) ac ON pmad.project_id = ac.project_id
|
|||
|
|
SET pmad.cfg_id = ac.cfg_id
|
|||
|
|
WHERE pmad.att_device = 'device' AND pmad.cfg_id = 0
|
|||
|
|
LIMIT 1000;
|