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

MySQLデータベースにBOOL値を挿入する方法

    TRUE およびFALSE はキーワードであり、文字列として引用しないでください:

    INSERT INTO first VALUES (NULL, 'G22', TRUE);
    INSERT INTO first VALUES (NULL, 'G23', FALSE);
    

    それらを文字列として引用することにより、MySQLはそれらを同等の整数にキャストします(ブール値は実際には1バイトのINTであるため) MySQLの場合)、これは数値以外の文字列の場合はゼロに変換されます。したがって、0を取得します テーブルの両方の値に対して。

    ゼロにキャストされた非数値文字列:

    mysql> SELECT CAST('TRUE' AS SIGNED), CAST('FALSE' AS SIGNED), CAST('12345' AS SIGNED);
    +------------------------+-------------------------+-------------------------+
    | CAST('TRUE' AS SIGNED) | CAST('FALSE' AS SIGNED) | CAST('12345' AS SIGNED) |
    +------------------------+-------------------------+-------------------------+
    |                      0 |                       0 |                   12345 |
    +------------------------+-------------------------+-------------------------+
    

    ただし、キーワードは対応するINTを返します 表現:

    mysql> SELECT TRUE, FALSE;
    +------+-------+
    | TRUE | FALSE |
    +------+-------+
    |    1 |     0 |
    +------+-------+
    

    また、より標準的なSQL文字列エンクロージャーと同様に、二重引用符を一重引用符に置き換えたことにも注意してください。最後に、空の文字列をidに置き換えました NULLを使用 。空の文字列は警告を発する場合があります。




    1. テーブルMYSQLのサブセット内で自動インクリメントする方法

    2. TOPおよびORDERBYSQLエラー

    3. Oracleでディレクトリを作成する方法は?

    4. SQLServer2019でMDFファイルを管理する