Задать вопрос
Ответы пользователя по тегу MySQL
  • Почему LIKE не учитывает IN ()?

    Alexious_sh
    @Alexious_sh
    Вам бы про приоритеты логических операторов почитать. В вашем случае условие WHERE разберется так:
    u.user_id IN (37273,37705,38184,39783) AND u.full_name LIKE '%богд%'
    или
    u.middle_name LIKE '%богд%' AND u.status_id = 0 AND u.view_id = 0


    Если я правильно понял что вы хотите, то нужно написать так:
    u.user_id IN (37273,37705,38184,39783) AND (u.full_name LIKE '%богд%' OR u.middle_name LIKE '%богд%') AND u.status_id = 0 AND u.view_id = 0


    Но вообще OR не рекомендуют использовать на больших объемах данных, т.к. он практически всегда ломает выборку по индексам.
    Ответ написан
    Комментировать