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

'false'はmysqlの文字列と一致しますか?

    MYSQLでは、 FALSE はブール値ではなく、整数、より具体的にはゼロです。実際、MySQLにはブール列タイプはありません(BOOLがあります) およびBOOLEAN ただし、これらはTINYINTの単なるエイリアスです。 )。したがって、クエリは次の同義語です:

    SELECT * FROM session WHERE token = 0
    

    token以降 はVARCHARです。MySQLは文字列を数値に変換する必要があります。このクエリを実行すると、ルールについてのアイデアが得られます:

    SELECT
        0 + "0001",
        0 + "123abc",
        0 + "abc123"
    

    その結果、fa356333dd3ee8f1b18b8bf0a827e34c 0にキャストします 文字で始まるので、一致します。



    1. エラー1054(42S22):「フィールドリスト」の不明な列「‍‍」

    2. 私の11gオプティマイザー統計ジョブが終了しました–修正済み

    3. GROUP BYを使用するときに欠落している(ゼロカウント)行を含む

    4. MySQL Workbenchを使用してMySQLデータベースのバックアップを取る方法は?