Смесвате типове. ID
е цяло число (или число). Вие го сравнявате с низ. Така че MySQL трябва да реши какъв тип да използва за сравнение. Какви видове се използва? Е, низ? Не. Номер. Низът се преобразува в число, като се използват водещите цифри. И така, става 101
и съвпадения.
Наистина трябва да сравнявате само числа с числа и низове с низове. Можете да опитате да напишете кода като:
SELECT * FROM tableName WHERE ID = 101foo2
Въпреки това ще получите грешка. Друга възможност е принудителното преобразуване в низ:
SELECT * FROM tableName WHERE CAST(ID as CHAR) = '101foo2'