ホームページ >データベース >mysql チュートリアル >MySQL の Boolean と tinyint(1): ブール値にはどちらを使用する必要がありますか?

MySQL の Boolean と tinyint(1): ブール値にはどちらを使用する必要がありますか?

Susan Sarandon
Susan Sarandonオリジナル
2024-12-30 06:51:10326ブラウズ

Boolean vs. tinyint(1) in MySQL: Which Should I Use for Boolean Values?

MySQL のブール値の Boolean と tinyint(1)

MySQL でブール値を操作する場合、ブール データを使用するかの選択type と tinyint(1) データ型が発生する可能性があります。これらは異なるオプションのように見えるかもしれませんが、本質的には同等です。

MySQL は tinyint(1) をブール データ型として認識します。 boolean と tinyint(1) は両方とも、0 (false) と 1 (true) の値を保存できます。 MySQL はそれらの間で自動的に変換するため、これらは区別なく使用できます。

使用例:

これを説明するために、次の例を考えてみましょう:

CREATE TABLE my_table (
  is_active boolean,
  is_admin tinyint(1)
);

INSERT INTO my_table (is_active, is_admin) VALUES (true, 1);
SELECT * FROM my_table WHERE is_active = is_admin;

この例では、列 is_active と is_admin の両方がブール値を格納するために使用されます。 INSERT ステートメントは、is_active が true (1) に設定され、is_admin が 1 (true) に設定された新しい行を挿入します。 SELECT ステートメントは、is_active と is_admin が等しい行を取得し、挿入したばかりの行を返します。

結論:

MySQL にブール値を保存する場合、両方のブール値が返されます。 tinyint(1) は効果的に使用できます。これらは同義語であるため、どちらを選択するかは個人の好みの問題です。

以上がMySQL の Boolean と tinyint(1): ブール値にはどちらを使用する必要がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。