0

现在我的数据库中只有美国产品。它们位于名为 的表中products。这些产品可通过分配在单独表格中的标签进行搜索。
我的挑战是现在添加来自不同国家/地区的产品,并要求无论用户来自哪里,他都只能看到来自他所在国家/地区的产品。

国家可以通过这些臭名昭著的国家标志选择器下拉菜单选择,在用户配置文件中设置或首先由访问者 IP 确定。

您将如何将国际产品存储在数据库中?据推测,不仅会增加一个国家,而且还会增加更多。简单地在该产品所属的国家/地区的表中添加一列 具有映射表 为每个国家/地区具有单独的表 完全不同的东西
是否有意义?products


现在我不能肯定地说每种产品只会在一个国家独家销售。所以我不得不假设一种产品可能在多个国家销售。

期待听到您对此的看法。

4

1 回答 1

1

这是一个经典的多对多案例。

创建一个国家表和一个参考表,其中存储了 countryID 和 productID 之间的链接。这样,您就可以在一个国家或任意多个国家销售产品。

SO上有很多关于多对多关系的信息:https ://stackoverflow.com/search?q=many-to-many+mysql

于 2012-12-08T14:51:06.353 回答