Это не дубликат, так как я попробовал все решения, которые мне удалось найти здесь. Я даже не знаю, как включить мой вопрос в заголовок.
У меня в столбце числовые значения c:
+-----------+
| tags |
+-----------+
| 1,14 |
| 2,3 |
| 2,4 |
| 1,14 |
| 2,3,4 |
| 1 |
| 9 |
| 1,2,15,16 |
| 1,3,17 |
| 1,18 |
| 2,3,4 |
| 20,21 |
+-----------+
И я хочу выбрать пост, например, tag = 1.
Если я буду вести себя так
"SELECT * FROM articles WHERE tags LIKE '%1%'";
MySQL вернет все помеченные сообщения: 14, 15, 16, 21 ... любое другое число, содержащее «1»;
Я пробовал множество утверждений, которые ничего мне не дали, таких как:
$result = $this->db->query("SELECT * FROM articles WHERE CONCAT(',', tags, ',') LIKE ? ORDER BY date_pub DESC LIMIT 4", "%,$tag_id,%")->fetchAll();
и т. Д .;
К сожалению, каждый раз, когда я сталкиваюсь с одним и тем же результатом. MySQL возвращает все числа, которые содержат «1».
Другими словами, 1, 13, 127494849040450, 3900000000000001, везде MySQL видит «1», он возвращает статью.
Но моя цель - взять уникальный номер из строки VARCHAR, разделенной запятыми, и вернуть статью, которая имеет такой тег цифра c.
Буду признателен, если кто-нибудь может помочь мне с этим вопросом.