1

我有两个具有相同字段的表,例如:

表 A:fname、lname、地址、年龄、电子邮件、手机、网站、博客 表 B:fname、lname、地址、年龄、电子邮件

这两个表都被我网站上的不同模块使用。我想同步两个表的前五个字段,这样每当在表 A 中添加新行或修改现有行时,表 B 都会自动更新,反之亦然。

例如。

  1. 用户在表 A 中创建了一条新记录。现在表 B 也应使用此新信息进行更新。反之亦然,如果用户在表 B 中创建新记录,则表 A 也应使用此新信息进行更新。

  2. 用户修改了表 A 中的记录。现在表 B 也应该使用修改后的信息进行更新。反之亦然,如果用户修改表 B 中的新记录,则表 A 也应使用修改后的信息进行更新。

我怎样才能做到这一点。我想过使用触发器,但它不会创建无限循环导致服务器错误!

4

2 回答 2

0

如果你只需要更新一个表以防另一个表被更新,而不是创建一个表(作为其他表的一部分),创建一个视图,它也像一个表,但虚拟的(不是真实的)。
但既然你已经要求双方更新。

我相信你应该回过头来解决这个问题......并告诉我们为什么你需要根据另一个表更新两个表,
因为你只是在两个地方保留重复数据没必要。

因此,请尝试考虑是否可以在不创建两个表的情况下完成,或者像创建一个表和一个视图来满足部分列的要求。

这不是您的问题的答案,但我正在尝试以优化的方式解决您的问题,这对每个人的健康都有好处....希望您理解我试图告诉您的内容。:)

于 2012-04-28T07:35:00.970 回答
0

这 5 个字段中的任何字段都保证是唯一的吗?您可以向触发器添加条件,以在将记录插入表中之前检查该字段是否存在。

您可能还想重新考虑设计。在 2 个地方存储重复记录似乎有点吓人。您将必须有更新、插入和删除的触发器。

于 2012-04-28T06:38:47.260 回答