sql >> データベース >  >> RDS >> Mysql

MySQL整数比較は、末尾の英字を無視します

    ほとんどのプログラミング言語では、文字列を数値に変換するときに先頭の数字を数値として解釈するのが一般的な動作です。

    これを処理する方法はいくつかあります:

    プリペアドステートメントを使用し、値を数値型にするプレースホルダーを定義します。これにより、文字列がそこにまったく入れられなくなります。

    アプリケーションの上位層をチェックして入力を検証し、それが数値であることを確認します。

    mysqlでBINARYキーワードを使用します(これはうまくいくと思いますが、クエリを実行する前に常に適切な検証システムを実装しているため、実際に試したことはありません)-

    SELECT *
    FROM table 
    WHERE BINARY ID = '32anystring';
    


    1. SQLintersectionのためにラスベガスに参加して$100を節約

    2. java.sql.SQLExceptionを修正する方法:列'id'が見つかりません。 SpringBootのエラー

    3. SQLServerで壊れたオブジェクトを見つける

    4. SQL Server Management Studio(SSMS)でWindowsおよびその他のタブのクエリをドッキング/ドッキング解除する方法-SQL Server/TSQLチュートリアルパート21