0

我在 2 个不同的位置有 2 个 sql 服务器。

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

人们在网络上更新和注册,当他们进行更改时,我需要将更改插入或更新到我的 crm 服务器。

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

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

我不知道如何开始。

4

2 回答 2

0

也许是这样的?

INSERT INTO table ON DUPLICATE UPDATE table SET field = value WHERE field != 'value' 你可能想看看这个是否有受影响的行

于 2013-03-26T14:08:53.767 回答
0

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

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

那么问题就变成了:你需要每列的差异吗?

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

附带说明:当您开始使用多个 mysql 服务器时,Pre-Select 将无法正常工作,因为您可能会遇到数据漂移的问题(即,一个服务器在插入的数据中落后)。发生这种情况时,该方法将变得更加复杂。

于 2013-03-26T14:12:42.553 回答