ほとんどのプログラミング言語では、文字列を数値に変換するときに先頭の数字を数値として解釈するのが一般的な動作です。
これを処理する方法はいくつかあります:
プリペアドステートメントを使用し、値を数値型にするプレースホルダーを定義します。これにより、文字列がそこにまったく入れられなくなります。
アプリケーションの上位層をチェックして入力を検証し、それが数値であることを確認します。
mysqlでBINARYキーワードを使用します(これはうまくいくと思いますが、クエリを実行する前に常に適切な検証システムを実装しているため、実際に試したことはありません)-
SELECT *
FROM table
WHERE BINARY ID = '32anystring';