【发布时间】:2012-11-02 11:51:51
【问题描述】:
可能重复:
Is storing a comma separated list in a database column really that bad?
我有一个逗号分隔文本的 mysql db 列:
id keys
------------
1 Key1, Key2
2 key3
3 key2, key3, key4
4 key5, key2
问题 1
我需要这样的结果:
id keys
----------
1 Key1
2 Key2
3 key3
4 key4
5 key5
问题 2
我还需要第二个查询来匹配上述条件。例如。
选择所有带有key2的行
输出应该是
id
---
1
4
注意:仅在单个查询中,没有存储过程,没有函数。
我看到过类似的问题,但没有得到想要的答案。
注意:感谢您建议数据不应存储在逗号分隔的字段中。 但是我还没有开发系统和数据库。我正要进行小幅升级。
【问题讨论】:
-
为什么不想使用函数或存储过程?
-
为什么不正确存储数据(即:您希望结果如何成为问题 1)。
-
请阅读此内容:Is storing a comma separated list in a database column really that bad? 简短的回答是:是的,真的那么糟糕。
-
@ajreal 我知道它不能解决问题,但是限制允许使用的工具使得这几乎毫无意义。这可以通过使用函数来解决。
-
@champ 那么你对函数的宗教反对是什么?