在MySQL中通过逗号值显示行

时间:2012-05-22 19:56:09

标签: mysql

我有一个逗号分隔的列表,保存在mysql表中:

-----------------
|id | list      |
-----------------
| 4 |12,45,65,4 |

“list”中的每个数字都对应另一个表中的ID。

有没有办法让我可以根据这些ID查询另一个表,并调出与“list”中的数字相关联的那些行?

1 个答案:

答案 0 :(得分:2)

使用当前架构没有任何有效方法。正确且最有效的方法是更改​​架构以容纳多行,如下所示:

-----------------
|id | list      |
-----------------
| 4 |    12     |
| 4 |    45     |
| 4 |    65     |
| 4 |     4     |

然后,您使用JOIN操作将4连接到其他表格中的每个相关行。

这称为数据库规范化,是数据库设计中非常重要的主题。构建关系数据库系统是为了有效地处理这类问题。