2010-12-03 4 views
2

У меня есть столбец в таблице, где я хранить теги идентификаторы в 1 | 5 | 10Есть ли способ, чтобы взорвать значение ячейки в тузде заявлении

Я хочу, чтобы взорвать столбец с помощью MySQL Query

+0

Дубликат http://stackoverflow.com/questions/1742728/mysql-explode-split-input-to-stored-procedure? – Riedsio

ответ

5

Что вы, вероятно, захотите сделать, это не хранить ваши идентификаторы тегов как этот. Сделайте отдельный стол для них, и ваша проблема исчезнет естественным образом.

Это называется normalisation.

+0

спасибо ... дорогая .. –

1

Вы можете цепи SUBSTRING_INDEX совершить взрываются эффект, но позвольте мне напомнить вам, что это ужасное решение над нормализации базы данных, как это было предложено Кос.

Если вы пытаетесь выбрать все записи MySQL с 5 в вашей средней колонке (# | 5 | #) вы будете использовать этот запрос:

SELECT * FROM table WHERE SUBSTRING_INDEX(SUBSTRING_INDEX(table.field, '|', 2), '|', -1) = 5 

@Everyone: это ужасное решение, так пожалуйста не PLAN использовать его; однако иногда мы находимся в ситуации, когда быстрый один лайнер, подобный этому, должен использоваться до тех пор, пока не произойдет более тонкая проверка схемы базы данных.