0

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

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

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

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

4

1 回答 1

2

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

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

然后,您使用JOIN操作连接4到另一个表中的每个相关行。

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

于 2012-05-22T20:00:28.287 回答