我具有以下(简化的)数据结构:
Property Product
----------- n <----> 1 -------
product_id manufacturer
type name
value
products表可能是这样的
| name |
|--------------|
| iPad 2 |
| iPhone 6 |
并且关联的属性可能是
| product_id | type | value |
|----------------------------------|
| 1 | RAM | 16GB |
| 1 | CPU | A11 |
| 1 | Screen Size | 10" |
| 2 | Cellular | yes |
| 2 | Screen Size | 5.5" |
在MySQL中是否可以创建约束,以便每个产品最多可以具有每种属性类型一次(例如,一个产品不能具有多个屏幕尺寸关联。据我所知,MySQL文档,约束仅适用于一种关系,而不适用于跨关系。
答案 0 :(得分:3)
发布此问题后,我立即意识到了解决方案。可以将约束放在属性关系上,以便每对product_id
,type
只能存在一次。