现在我的数据库里只有美国产品。它们驻留在一个名为products的表中。这些产品可以通过指定的标签搜索,这些标签位于一个单独的表中。
我的挑战是现在添加来自不同国家的产品,要求用户在哪里只能看到来自他的国家的产品。
这个国家既可以由这些臭名昭著的摘旗者选择,也可以设置在用户配置文件中,或者首先由访问者IP决定。
您将如何将国际产品存储在数据库中?据推测,不仅会增加一个国家,而且还会增加更多的国家。
简单地在products表中添加该产品属于哪个国家的列是有意义的吗?
有映射表或
为每个国家或
完全不同的东西?
现在我不能肯定地说,每一种产品只在一个国家销售。因此,我不得不假设,一种产品可能在多个国家销售。
期待着听到你对此的想法。
发布于 2012-12-08 14:51:06
这是一个经典的多到多的案例。
创建一个国家表和一个引用表,用于存储countryID和productID之间的链接。这样你就可以只在一个国家或任意多个国家销售产品。
有很多关于多到多关系的信息:https://stackoverflow.com/search?q=many-to-many+mysql。
https://stackoverflow.com/questions/13778556
复制相似问题