有多个地址的客户

时间:2013-12-29 09:56:09

标签: php mysql

我想设置一个mysql数据库和一个php脚本,客户可以在其中添加多个地址并将一个地址设置为默认值。具有多个地址的客户可以像这样实现:

enter image description here

但是我应该如何更改图表以存储默认地址?首先,我很想用这样的布尔值来实现它:

enter image description here

但这样做的缺点是,如果用户想要更改其默认地址,则需要更改两个地址,将一个default_address设置为true,将另一个设置为false。当出现问题时,这可能会导致数据库不一致,用户没有默认地址或多个默认地址。是否有更强大的方法来实现这一目标?

2 个答案:

答案 0 :(得分:4)

您可以在customer表中拥有default_address_id字段。

答案 1 :(得分:0)

我会使用Eran的解决方案,结合一些JOIN查询,或者添加一个包含customer_id,address_id的表default_cst_addresses,然后通过关系将这些表引用到其他表中。