我有一个包含案例的表,但每个案例都可以填充不同的参数。所以我认为这样的表不是最好的解决方案(例如 - 实际上会有更多的参数):
case
+----+-------+--------+-------+------------+-------+
| id | label | color | count | time | valid |
+----+-------+--------+-------+------------+-------+
| 1 | abcd | NULL | 4 | 2013-01-15 | 0 |
| 2 | efgh | NULL | NULL | 2012-12-22 | NULL |
| 3 | ijkl | fa8ee0 | NULL | NULL | 1 |
| 4 | mnop | NULL | 1 | NULL | 1 |
| ...
包含很多 NULL 值。
还有另一种解决方案,其中存在相关表case_params
,其概念如下:
`case` `case_params`
+----+-------+ +---------+------------+-------------+
| id | label | | case_id | param_type | param_value |
+----+-------+ +---------+------------+-------------+
| 1 | abcd | | 1 | count | 4 |
| 2 | efgh | | 1 | time | 2013-01-15 |
| 3 | ijkl | | 1 | valid | 0 |
| 4 | mnop | | 2 | time | 2012-12-22 |
| ... | 3 | color | fa8ee0 |
| ...
但是列param_value
会出现问题 - 我可以将其设置为 VARCHAR(32),并设置触发器,如果其值正确,则控制每个参数类型。但我不确定这是否是明确的解决方案......
你如何解决这样的问题? THX
对不起英语不好,不是母语