Anda adalah tipe pencampuran. ID
adalah bilangan bulat (atau bilangan). Anda membandingkannya dengan string. Jadi, MySQL perlu memutuskan jenis apa yang akan digunakan untuk perbandingan. Jenis apa yang digunakan? Nah, string? Tidak. Sebuah nomor. String diubah menjadi angka, menggunakan digit utama. Jadi, menjadi 101
dan kecocokan.
Anda seharusnya hanya membandingkan angka dengan angka, dan string dengan string. Anda dapat mencoba menulis kode sebagai:
SELECT * FROM tableName WHERE ID = 101foo2
Namun, Anda akan mendapatkan kesalahan. Kemungkinan lain adalah memaksa konversi ke string:
SELECT * FROM tableName WHERE CAST(ID as CHAR) = '101foo2'