同步耗卡时间和创建时间字段.sql 3.83 KB
-- ============================================
-- 同步耗卡时间和创建时间字段
-- 说明:
-- 1. 在 lq_xh_pxmx 表添加 yjsj 字段(耗卡时间)
-- 2. 在 lq_xh_jksyj 表添加 F_CreateTime 字段(创建时间)
-- 3. 在 lq_xh_kjbsyj 表添加 F_CreateTime 字段(创建时间)
-- 4. 同步 lq_xh_hyhk.hksj 到相关表的 yjsj 字段
-- 5. 同步 lq_xh_hyhk.F_CreateTime 到相关表的创建时间字段
-- ============================================

-- ============================================
-- 第一步:添加字段
-- ============================================

-- 1. 在 lq_xh_pxmx 表添加 yjsj 字段(耗卡时间)
ALTER TABLE `lq_xh_pxmx` 
ADD COLUMN `yjsj` DATETIME NULL COMMENT '耗卡时间' AFTER `F_CreateTIme`;

-- 2. 在 lq_xh_jksyj 表添加 F_CreateTime 字段(创建时间)
ALTER TABLE `lq_xh_jksyj` 
ADD COLUMN `F_CreateTime` DATETIME NULL COMMENT '创建时间' AFTER `yjsj`;

-- 3. 在 lq_xh_kjbsyj 表添加 F_CreateTime 字段(创建时间)
ALTER TABLE `lq_xh_kjbsyj` 
ADD COLUMN `F_CreateTime` DATETIME NULL COMMENT '创建时间' AFTER `yjsj`;

-- ============================================
-- 第二步:同步数据
-- ============================================

-- 4. 同步 lq_xh_hyhk.hksj 到 lq_xh_pxmx.yjsj
UPDATE `lq_xh_pxmx` pxmx
INNER JOIN `lq_xh_hyhk` hyhk ON pxmx.F_ConsumeInfoId = hyhk.F_Id
SET pxmx.yjsj = hyhk.hksj
WHERE hyhk.hksj IS NOT NULL;

-- 5. 同步 lq_xh_hyhk.hksj 到 lq_xh_jksyj.yjsj
UPDATE `lq_xh_jksyj` jksyj
INNER JOIN `lq_xh_hyhk` hyhk ON jksyj.glkdbh = hyhk.F_Id
SET jksyj.yjsj = hyhk.hksj
WHERE hyhk.hksj IS NOT NULL;

-- 6. 同步 lq_xh_hyhk.hksj 到 lq_xh_kjbsyj.yjsj
UPDATE `lq_xh_kjbsyj` kjbsyj
INNER JOIN `lq_xh_hyhk` hyhk ON kjbsyj.glkdbh = hyhk.F_Id
SET kjbsyj.yjsj = hyhk.hksj
WHERE hyhk.hksj IS NOT NULL;

-- 7. 同步 lq_xh_hyhk.F_CreateTime 到 lq_xh_pxmx.F_CreateTIme
-- 注意:lq_xh_pxmx 表的创建时间字段是 F_CreateTIme(注意拼写)
UPDATE `lq_xh_pxmx` pxmx
INNER JOIN `lq_xh_hyhk` hyhk ON pxmx.F_ConsumeInfoId = hyhk.F_Id
SET pxmx.F_CreateTIme = hyhk.F_CreateTime
WHERE hyhk.F_CreateTime IS NOT NULL;

-- 8. 同步 lq_xh_hyhk.F_CreateTime 到 lq_xh_jksyj.F_CreateTime
UPDATE `lq_xh_jksyj` jksyj
INNER JOIN `lq_xh_hyhk` hyhk ON jksyj.glkdbh = hyhk.F_Id
SET jksyj.F_CreateTime = hyhk.F_CreateTime
WHERE hyhk.F_CreateTime IS NOT NULL;

-- 9. 同步 lq_xh_hyhk.F_CreateTime 到 lq_xh_kjbsyj.F_CreateTime
UPDATE `lq_xh_kjbsyj` kjbsyj
INNER JOIN `lq_xh_hyhk` hyhk ON kjbsyj.glkdbh = hyhk.F_Id
SET kjbsyj.F_CreateTime = hyhk.F_CreateTime
WHERE hyhk.F_CreateTime IS NOT NULL;

-- ============================================
-- 验证查询(可选,用于验证同步结果)
-- ============================================

-- 验证 lq_xh_pxmx 表数据同步情况
-- SELECT 
--     pxmx.F_Id,
--     pxmx.F_ConsumeInfoId,
--     pxmx.yjsj as PxmxYjsj,
--     hyhk.hksj as HyhkHksj,
--     pxmx.F_CreateTIme as PxmxCreateTime,
--     hyhk.F_CreateTime as HyhkCreateTime
-- FROM lq_xh_pxmx pxmx
-- LEFT JOIN lq_xh_hyhk hyhk ON pxmx.F_ConsumeInfoId = hyhk.F_Id
-- WHERE pxmx.F_ConsumeInfoId IS NOT NULL
-- LIMIT 10;

-- 验证 lq_xh_jksyj 表数据同步情况
-- SELECT 
--     jksyj.F_Id,
--     jksyj.glkdbh,
--     jksyj.yjsj as JksyjYjsj,
--     hyhk.hksj as HyhkHksj,
--     jksyj.F_CreateTime as JksyjCreateTime,
--     hyhk.F_CreateTime as HyhkCreateTime
-- FROM lq_xh_jksyj jksyj
-- LEFT JOIN lq_xh_hyhk hyhk ON jksyj.glkdbh = hyhk.F_Id
-- WHERE jksyj.glkdbh IS NOT NULL
-- LIMIT 10;

-- 验证 lq_xh_kjbsyj 表数据同步情况
-- SELECT 
--     kjbsyj.F_Id,
--     kjbsyj.glkdbh,
--     kjbsyj.yjsj as KjbsyjYjsj,
--     hyhk.hksj as HyhkHksj,
--     kjbsyj.F_CreateTime as KjbsyjCreateTime,
--     hyhk.F_CreateTime as HyhkCreateTime
-- FROM lq_xh_kjbsyj kjbsyj
-- LEFT JOIN lq_xh_hyhk hyhk ON kjbsyj.glkdbh = hyhk.F_Id
-- WHERE kjbsyj.glkdbh IS NOT NULL
-- LIMIT 10;