2012-02-09 96 views
0

我要同步位於2級型動物的服務器有不同的模式2個的數據庫表,例如:同步。 2個數據庫表正確

表A字段:ID,article_value

表B字段:article_id的,文章

表A由一個程序使用,表B由另一個程序使用。

我想創建一個同步腳本,將兩個表同步到同一個條目。

我曾想過創建包含的字段1個表:

A_number(的表A物品數),B_number(在表B中的文章號)。

因此,當腳本啓動時,它會計算表A中的條目數,並與字段A_number進行比較。如果有更多的條目,它將它們添加到表B中,然後更新A_number。

在另一個方向相同的東西。

這是最好的方法嗎? in php

回答

0

你可以在兩個表上添加「上次修改」時間戳嗎?然後,您將始終知道自上次同步以來是否修改了一行。

+0

是的,這是一個很好的解決方案,但在某些表中沒有任何日期,我不能添加該字段,因爲我需要修改這兩個程序。 – adieuuu 2012-02-09 14:34:50

+0

您不必修改程序 - 以防添加的字段具有默認值。然後,使用這些表的另一個程序將永遠不會知道添加了新的字段。在MySQL中,我相信,一種常見的方法是添加一個NULLable DATETIME字段,並具有ON INSERT和ON UPDATE觸發器,將DATETIME字段設置爲NOW()。 – 2012-02-09 14:44:58

+0

啊,我明白了。例如,我在表A和表B中添加一個觸發器ON INSERT,將日期時間字段設置爲now,然後在我的表'sync'中比較例如上次同步的日期。 (我是學生對不起) 但它需要在他們的數據庫表中添加一個字段? – adieuuu 2012-02-09 15:03:20