有没有办法在mysql语句中爆炸单元格值

时间:2010-12-03 05:18:18

标签: mysql explode

我在表格中有列,我将标签ID存储为1 | 5 | 10

我想使用mysql查询

来爆炸列

2 个答案:

答案 0 :(得分:5)

您可能想要做的是不存储您的标签ID 。为他们制作一个单独的表格,你的问题会自然消失。

这叫做normalisation.

答案 1 :(得分:2)

你可以链接SUBSTRING_INDEX以实现爆炸效果,但是让我提醒你,这是一个关于数据库规范化的可怕解决方案,正如Kos所建议的那样。

如果您尝试在中间列(#| 5 |#)中选择所有带有5的MySQL条目,您将使用此查询:

SELECT * FROM table WHERE SUBSTRING_INDEX(SUBSTRING_INDEX(table.field, '|', 2), '|', -1) = 5
@Everyone:这是一个可怕的解决方案,所以请不要计划使用它;但是,有时候我们处于这样一种情况,即必须使用像这样的快速内衬才能对数据库模式进行更精细的检查。