有人可以给我一个想法如何创建这个数据库结构。 下面是一个例子:其他表的多个ID的SQL字段
Table "countries":
id, countryname
1, "US"
2, "DE"
3, "FR"
4, "IT"
现在我有另一个表“产品”,并在那里我想用来存储所有的国家,本产品可用:
Table "products":
id,productname,countries
1,"product1",(1,2,4) // available in countries US, DE, IT.
2,"product2",(2,3,4) // available in countries DE, FR, IT.
我的问题: 怎么办我在“产品”中设计表结构以便能够存储多个国家/地区?
我最好的想法是在那里放置一个逗号分隔的字符串(即“1,2,4”),然后分割该字符串以查找每个条目。但我怀疑这是做到这一点的最佳方式吗?
编辑:谢谢大家的帮助,太棒了!很难选择正确的答案, 我最终选择了格雷格斯,因为他指出我要加入一个解释并举例说明如何使用它。
为什么不使用连接?这对我来说总是看起来有点奇怪 – Flo
使用'JOIN'的逻辑会让SQL新手感到困惑,而OP新手显然是这样。当然,一个'JOIN'也可以工作,但如果没有它,逻辑就会更清晰,更容易理解。 – Polynomial
谢谢你和所有其他人的帮助!是的,这里是SQL新手。一个子问题:SQL语句对我来说似乎很慢 - 假设我有100000多种产品,是否需要很长时间来遍历product_countries? – marimba