У меня есть таблица пользователей Mysql (5.1.58-1ubuntu1) (механизм хранения InnoDB, сопоставление utf8 general ci) с 3 полями (для простоты):
- id : int (первичный ключ)
- имя пользователя : varchar(255) - utf8_general_ci
- пароль: varchar(255) - utf8_general_ci
В этой таблице всего две записи (всегда для простоты):
id| username | password
-----------------------
1 | myuser | custom1
2 | myuser2 | custom2
Итак, если я запускаю этот запрос
select * from users where username = 0 and password = 0
mysql возвращает мне все записи.
Наоборот, если я запускаю запрос ниже
select * from users where username = '0' and password = '0'
MySql возвращает мне пустой набор.
На мой взгляд, это поведение очень странное и похоже на Hard Bug.
У кого-нибудь есть пояснения?