ホームページ >データベース >mysql チュートリアル >UNIQUE 制約を持つ MySQL カラム内に複数の NULL 値が共存できますか?

UNIQUE 制約を持つ MySQL カラム内に複数の NULL 値が共存できますか?

Barbara Streisand
Barbara Streisandオリジナル
2024-12-07 17:36:17461ブラウズ

Can Multiple NULL Values Coexist in a MySQL Column with a UNIQUE Constraint?

MySQL の一意制約と Null 値

Null 値を許可しながらカラムの一意性を強制することが望ましいシナリオに遭遇する場合があります。 MySQL では、この動作は特定の場合にサポートされています。

一意性ルールに従う必要があるが、null 値も受け入れる必要がある「email」という名前の列を考えてみましょう。このような設定では複数の NULL メールが共存できますか?

はい、MySQL では一意制約のあるカラム内で複数の NULL を許可します。これは簡単な例で実証できます:

CREATE TABLE table1 (x INT NULL UNIQUE);
INSERT table1 VALUES (1);
INSERT table1 VALUES (1);   -- Duplicate entry '1' for key 'x'
INSERT table1 VALUES (NULL);
INSERT table1 VALUES (NULL);
SELECT * FROM table1;

出力:

x
NULL
NULL
1

図に示すように、MySQL の一意のカラムには複数の null 値が存在できます。この動作は MySQL に固有のものであり、他のデータベース管理システムには適用されない場合があります。たとえば、SQL Server 2005 以前のバージョンでは、一意制約のある列に 1 つの NULL 値のみを許可します。

以上がUNIQUE 制約を持つ MySQL カラム内に複数の NULL 値が共存できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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