Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Как сравнить при select массив в ячейке mysql?

Nikolya Ученик (206), на голосовании 3 года назад
PHP, MYSQL
Есть id= 20

В ячейке cout записать, 21,20,23

Как сравнить если id значение есть в ячейке cout то выводим?

Select * from table where cout = id???
Голосование за лучший ответ
dim565 Искусственный Интеллект (424764) 4 года назад
Если хотите проверить именно средствами MySQL, тогда SELECT * FROM table WHERE cout LIKE '%20%'
NikolyaУченик (206) 4 года назад
Не люблю использовать Like есть другие варианты?
А если проверять чтоб не было этого id тогда использовать cout NOT LIKE '%20%'?
dim565 Искусственный Интеллект (424764) Да, NOT LIKE должен работать. Другой вариант получать значение столбца целиком (все числа с запятыми), проверять через PHP, но если вам не нужно выводить данные из других ячеек лучше искать через MySQL
Саня Семенов Оракул (60497) 4 года назад
это ненормальные базы данных когда ключи для связей приходится вырезать из текста
NikolyaУченик (206) 4 года назад
Мне не ключи сравнивать. Вопрос тогда как лучше делать?
Делаю почту.

Если пользователь удалил сообщение нужно сделать запись в БД, но у другого пользователя письмо должно показываться.
Саня СеменовОракул (60497) 4 года назад
1 я нифига не понял какая у тебя структура базы, покажи
2 читай про нормальные формы и не нарушай их все тогда база получится правильная
3 чтобы удалить сообщение можно не удалять строчку из базы пометить его удаленным в колонке deleted и не показывать удаленные там где они не должны показываться
4 ячейки count быть не должно - потому что если там количество то его считают с помощью одноименной функции а если там ид сообщений то это нарушение нормальной формы
Похожие вопросы