簡體   English   中英

在MySQL中同步同一數據庫中兩個表的記錄

[英]sync records of two tables in the same database in MYSQL

我有兩個具有相同字段的表,例如:

表A:fname,lname,地址,年齡,電子郵件,手機,網站,博客表B:fname,lname,地址,年齡,電子郵件

我的網站上的不同模塊都使用了這兩個表。 我想以這樣一種方式同步兩個表的前五個字段:每當在表A中添加新行或修改現有行時,表B都會自動更新,反之亦然。

例如。

  1. 用戶在表A中創建了一條新記錄。現在,表B也應使用此新信息進行更新。 反之亦然,如果用戶在表B中創建新記錄,則表A也應使用此新信息進行更新。

  2. 用戶修改了表A中的一條記錄。現在,表B也應使用此修改后的信息進行更新。 反之亦然,如果用戶修改了表B中的新記錄,則還應使用此修改后的信息來更新表A。

我該如何實現。 我考慮使用觸發器,但不會創建無限循環,從而導致服務器錯誤!

這5個字段中是否有任何字段是唯一的? 您可以在觸發器中添加條件,以在將記錄插入表中之前檢查該字段是否存在。

您可能還需要重新考慮設計。 在2個地方存儲重復記錄似乎有些令人恐懼。 您將必須具有更新,插入和刪除的觸發器。

如果您只需要更新一個表以防其他表被更新,則不要創建表(作為其他表的一部分),而是創建一個視圖,該視圖也類似於表,但是是虛擬的(不是真實的)。
但自從您要求雙方進行更新。

我相信您應該回過頭來解決這個問題。...並告訴我們為什么您需要根據另一個表更新兩個表,
因為您只是在兩個位置保留重復數據,所以不需要。

因此,嘗試考慮是否可以在不創建兩個表的情況下完成此操作,或者像創建一個表和一個用於部分列需求的視圖之類的操作。

這不是您問題的答案,但我正在嘗試以一種對每個人的健康都有益的優化方式來解決您的問題。...希望您理解我想說的話。 :)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM