如何存储这两个客户有关系?

时间:2015-01-16 19:31:14

标签: php mysql foreign-key-relationship

假设我有一个简单的client表,其中列idname填充了以下行:

ID | NAME
01 | John
02 | Mary
03 | Smith
04 | George
05 | Allan

我想在我的数据库中存储 John Mary Smith Allan 的朋友。< / p>

如何创建关联表来链接此客户端?

目前,我使用的表格如下:

CLIENT_A | CLIENT_B
   01    |    02
   01    |    03
   01    |    05

使用UNIQUE(client_a,client_b)

但这也允许我有一个重复的关系,反向列值。

CLIENT_A | CLIENT_B
   02    |    01
   03    |    01
   05    |    01
   01    |    02
   01    |    03
   01    |    05

因此,我需要检查PHP的两个方向,以查找我的客户关系并避免重复输入。

有更好的方法吗?

1 个答案:

答案 0 :(得分:0)

正如@halfer所说,一个好方法是在创建之前检查关系。

即。当您尝试插入关系时,请检查它是否已存在。

是的,它会让您的保存速度变慢,但会保证您的一致性。