使用mysql我需要将更改的记录从一个表更新到另一个表

时间:2012-07-19 06:10:15

标签: mysql

我有两个表“Main”和“Import”

导入的字段为id,a,b,c,d

Main有字段id,a,b,c,d,x,y,z

Main是我的应用程序使用的表,Import是一个表,我转储从Web服务中提取的数据。

对于Main中已存在的Import中的每个条目(按id)我需要更新Main,如果a,b,c或d已更改而不更改x,y或z(导入后添加的数据)

我目前有类似的东西

UPDATE Main, Import
Main.a = Import.a, 
Main.b = Import.b, 
Main.c = Import.c, 
Main.d = Import.d, 
WHERE 
Main.id = Import.id AND (
Main.a != Import.a OR 
Main.b != Import.b OR 
Main.c != Import.c OR 
Main.d != Import.d)

但是想知道是否有更优雅的方式来做这件事。

我的实际数据结构如上,但还有更多字段。

1 个答案:

答案 0 :(得分:0)

尝试使用单个表并使用cron作业通过Web服务提取数据,同时返回您通过Web服务获取的数据的JSON和maintian数组,然后如果更改了任何条目,请尝试更新该特定字段....