仅更新2个服务器mysql上的已修改字段

时间:2013-03-26 14:03:27

标签: php mysql

我在2个不同的位置有2个sql server。

一个是Web服务器,另一个是crm系统。

人们在网上更新并注册,当他们做更改时,我需要插入或更新我的crm服务器的更改。

我在网络服务器上有一个视图,我可以从中选择,但我需要

insert into on duplicate update only fields that changed and then in a description 
show     
wich fields were updated?

我不知道如何开始。

2 个答案:

答案 0 :(得分:0)

也许是这样的?

INSERT INTO表ON DUPLICATE UPDATE表SET field = value WHERE field!='value' 你可能想看看这个是否有Affected rows

答案 1 :(得分:0)

更改后无法确定字段的差异。

然而,您可以在更新之前选择并存储内容,然后将其与新内容进行比较。

然后问题变成:您是否需要差异每列

  • 如果是:预先选择并自己做差异(在 应用程序)。
  • 如果否:使用@Ogelami描述的方法(并接受他的回答:)

旁注:当您开始使用多个mysql服务器时,Pre-Select事物也不会起作用,因为您可能会遇到漂移数据的问题(即插入的数据中有一个服务器落后)。发生这种情况时,该方法会变得更复杂。