あなたはタイプを混ぜています。 ID
は整数(または数値)です。あなたはそれを文字列と比較しています。したがって、MySQLは比較に使用するタイプを決定する必要があります。どのタイプが使用されますか?さて、文字列?いいえ。番号です。文字列は、先頭の数字を使用して数値に変換されます。したがって、101
になります と一致します。
実際には、数値と数値、および文字列と文字列のみを比較する必要があります。次のようにコードを記述してみてください:
SELECT * FROM tableName WHERE ID = 101foo2
ただし、エラーが発生します。別の可能性は、文字列への変換を強制することです:
SELECT * FROM tableName WHERE CAST(ID as CHAR) = '101foo2'