我有一个逗号分隔的列表,保存在mysql表中:
-----------------
|id | list |
-----------------
| 4 |12,45,65,4 |
“list”中的每个数字都对应另一个表中的ID。
有没有办法让我可以根据这些ID查询另一个表,并调出与“list”中的数字相关联的那些行?
答案 0 :(得分:2)
使用当前架构没有任何有效方法。正确且最有效的方法是更改架构以容纳多行,如下所示:
-----------------
|id | list |
-----------------
| 4 | 12 |
| 4 | 45 |
| 4 | 65 |
| 4 | 4 |
然后,您使用JOIN
操作将4
连接到其他表格中的每个相关行。
这称为数据库规范化,是数据库设计中非常重要的主题。构建关系数据库系统是为了有效地处理这类问题。