F21的两个表的同步维护操作

 

两个表的同步问题

 

表A

 

MerchantID areaid ShutName FullName

5451     05 黑龙江张玉霞 哈尔滨南港区

5531     01 山东张莉 济南市经八路济南大厦

553101   04 烟台 NULL

5531J001 04 青岛周玉珠 青岛周玉珠

5531J002 04 即墨张健 即墨张健

5531J003 04 威海丛书辉 威海丛书辉

5531J004 04 烟台郭英玲 烟台郭英玲

5531J005 04 烟台辛洁玉 烟台蓬莱辛洁玉

5531J006 04 临沂鲁烨华 临沂鲁烨华

 

表B

 

MerchantID areaid ShutName FullName u_id z_id

5451     05 黑龙江张玉霞 哈尔滨南港区 1 1

5531     01 山东张莉 济南市经八路济南大厦 1 1

553101   04 烟台 NULL 2 1

5531J001 04 青岛周玉珠 青岛周玉珠 4 1

5531J002 04 即墨张健 即墨张健 4 1

5531J003 04 威海丛书辉 威海丛书辉 2 1

5531J004 04 烟台郭英玲 烟台郭英玲 3 1

5531J005 04 烟台辛洁玉 烟台蓬莱辛洁玉 2 1

5531J006 04 临沂鲁烨华 临沂鲁烨华 1 1

 

 

A表是实时生产的表,不能轻易改动

 

B表是操作员的客户对应的的资料表

 

如果表A有修改 增加 和删除的存在

那么

B表也要做出同样的动作,但是有点不同

在B表上有个失效的字段 z_id 默认为有效

 

如果A删除了 B表不是删除动作,而是更新 z_id 为 失效的0

A 增加 B也要增加

A 修改 B修改

 

实现的方法:

表B的结果比对A

select a.mid from a where a.mid==b.mid

if($a==$b){}else{update b.z_id->0}

select b.mid from b where b.mid==a.mid

if($a==$b){}else{add a.mid->b.mid}

 

这样两个表的资料就同步了,因为基础资料不经常变动,维护这个表可以一天一次就可以了。

 

你可能感兴趣的:(null)