2013-07-09 79 views
0

起初我認爲最好有addresses表來跟蹤用戶帳單和送貨地址......這些當然會用於訂單等。MySQL:管理用戶帳單和送貨地址

但是,一旦我開始編碼,我注意到當用戶更新它們時,我必須能夠引用和跟蹤那些id,並且對於「運輸與我的帳單地址相同」選項,我會那麼需要更新對shipping_id的引用作爲billing_id ...

我希望我的意思是有道理的...

我現在認爲我應該在我的user表中擁有帳單和運輸字段,或創建user_details表。

實際的問題是,存儲和管理用戶帳單和送貨地址的首選(或建議)方法是什麼。

+0

那麼什麼是實際問題的信息? – 2013-07-09 22:52:37

+0

更新了我的問題。 – dcolumbus

回答

2

何不做一個地址表中包含一個標誌,什麼指示

id | user_id | street | number | zip | city | address_type | valid_since | valid_until 
+0

嗯,這就是我現在正在做的事情,我只是覺得有太多方法搞砸參考。 – dcolumbus

+1

address_type與1(shipping)或2(billing)會更有效率嗎? – 2013-07-09 22:55:28

+0

@Dagon:是的,會的。 –

0

你可以讓每個人都能地址表地址的類型,它包含所有的詳細地址以及用戶ID,以便他們能被鏈接到用戶。這允許任何用戶擁有他們想要的地址。然後在用戶表中,可以有一個用於shipping_address和billing_address的字段,該字段在地址表中採用一個id作爲引用。請記得在適當的地方使用外鍵。

如果你想要一個簡單的方法來訪問通過代碼有用的地址信息的用戶的詳細信息,您可能要創建一個存儲過程來獲取兩個表

+0

這就是我目前所擁有的。我只是不喜歡帳單和運費不是靜態的......這只是一堆'id's。處理您經常在網站上看到的與「帳單地址相同」選項的最佳方式是什麼? – dcolumbus

相關問題