我正在构建一个结帐系统,它需要将客户的送货地址存储在数据库中,但我不确定最好的方法。
目前我有一个地址表,它存储每个地址的唯一 ID:
id | address | city | division | country | postcode
-----------------------------------------------------------------
1 | 23 Example Road | York | Yorkshire | GB | PE21 5QR
2 | 7 Lala Land | Stockton | California | US | 96341
Run Code Online (Sandbox Code Playgroud)
然后我有一个称为 account_addresses 的多对多关系表,它将地址链接到用户帐户:
account_id | address_id
-----------------------
23 | 1
48 | 2
Run Code Online (Sandbox Code Playgroud)
为了将送货地址存储在数据库中,我将允许用户选择他们现有的地址之一,或者让他们向他们的帐户添加一个新地址并将该地址 ID 存储在订单表中。但是,我意识到如果我只存储地址 ID,如果用户编辑该地址,则会更改送货地址,从而导致错误。
我只看到两种解决方案:
什么是最好的解决方案,为什么?
mysql ×1