Поиск по id не работает в r=user/admin

Предварительное обсуждение найденных ошибок перед отправкой их авторам фреймворка, а также внесение новых предложений.
Ответить
Dexel
Сообщения: 1
Зарегистрирован: 2014.03.15, 05:00

Поиск по id не работает в r=user/admin

Сообщение Dexel »

Потому что запрос в базу идёт:

Код: Выделить всё

SELECT COUNT(*) FROM "tbl_user" "t" WHERE id LIKE '%10%';
Здесь проявляется одно из отличий PostgreSQL от MySQL. Там где Postgres ругается, - Мysql исполняет, но хрен знает как.
Версия с mysql работает при этом на равенство, а не приводит id к тексту. Like команда предназначена для текста.
Т.е. если в таблице есть записи 1 и 10, и ввести 1, то и выведется с id=1. В mysql. В psql при этом вылетит окно с ошибкой.

Вообще если задумка была искать int по фрагменту, то тормоза будут жуткие. Приведение к тексту сведёт на нет всю скорострельность INTEGER uniqe :(
Аватара пользователя
yiijeka
Сообщения: 3103
Зарегистрирован: 2012.01.28, 09:14
Откуда: Беларусь
Контактная информация:

Re: Поиск по id не работает в r=user/admin

Сообщение yiijeka »

Так отключите like - выставив в compare id третий параметр в false
Ответить