2016-05-30 2 views
0

Я использую базу данных MySQL с php. И нашел что-то странное.MySQL select by id non string

Ex: У меня есть таблица foo (с полем автоматического приращения id). Когда я это сделаю: select * from foo where id='1aoeu'; он возвращает foo 's ряд с id=1.

И когда я делаю select * from foo where id='aoeu1';, он ничего не возвращает.

Я думаю MySQL преобразование 1aoeu в int и возвращение 1 от этого.

Как остановить это? Есть ли какая-то конфигурация для этого?

+0

Вы можете попробовать не передавать символы в состояние 'WHERE' на' id' со своего уровня приложения. Почему вы в первую очередь проходите в «1aoeu»? –

ответ

0

Вы не можете изменить реализацию Mysql, вам необходимо обработать этот случай на уровне приложения. Клиенты и серверная сторона (в формате html, а также на стороне сервера при обработке этого запроса).