0

我有一个购物车,我想将购物车信息存储到我的数据库中,但我不知道该怎么做,因为我无法检测到我的客户将添加多少商品到他们的购物车中。

我现在想到的是有一个非唯一的键作为购物车 ID。IE

ID / book / price / quantity
1/harry potter/19.90/1
1/deadly hollows/49.90/1

并且两个 id 1 都将构成一个完整的购物车。这种做法会不会有问题?

4

2 回答 2

0

您应该有一个唯一的主键,但可以跨越多个列:

您可能可以使用 ID 和 book 作为主键,因为每个购物车不会有同一本书的 2 个副本,因为这只会更新数量,而不是添加新行。

于 2011-07-15T06:03:25.977 回答
0

非唯一密钥不是一个好的解决方案。
我会在购物车表中添加一个自动增量键,并将其用作“真正的”唯一键。
只需保持您的非唯一 ID 不变,这样您就可以将其用作 OrderID 来查看哪些行属于同一订单。

像这样:

UniqueID / OrderID / book / price / quantity
1/1/harry potter/19.90/1
2/1/deadly hollows/49.90/1
3/2/code complete/25.90/2
于 2011-07-15T06:06:57.350 回答