Mysql
 sql >> база данни >  >> RDS >> Mysql

mysql търсене на catid в текстово поле

MySQL може да ви помогне да заобиколите тези огромни грешки в дизайна на база данни с функция FIND_IN_SET . Опитайте това:

SELECT * FROM articlepix 
WHERE published = 1 AND FIND_IN_SET('86', catid) > 0
ORDER BY RAND() LIMIT 1

Което разбира се може да бъде опростено до:

WHERE published = 1 AND FIND_IN_SET('86', catid)

Тъй като функцията връща само 0 когато няма съвпадение, но може да е по-трудно да се разбере какво прави :)




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Лошо ли е за производителността да се изберат всички колони?

  2. Изберете свободни стаи между две дати

  3. Knex.js предотвратява ли инжектирането на sql?

  4. Sqlite Добавяне на колона в таблица на определена позиция (Android)

  5. Как да вмъкнете текущото време в MySQL с помощта на Java