ホームページ > データベース > mysql チュートリアル > MySQL の一意の制約は複数の NULL 値を処理できますか?

MySQL の一意の制約は複数の NULL 値を処理できますか?

DDD
リリース: 2024-12-26 07:14:09
オリジナル
792 人が閲覧しました

Can MySQL's Unique Constraint Handle Multiple NULL Values?

MySQL 一意制約: Null 値

MySQL では、指定されたカラム内の値の一意性を保証するために一意制約が適用されます。ただし、電子メール アドレスを扱う場合、一般的なシナリオは、オプションのアドレスまたは指定されていないアドレスを表すために null 値を使用することです。これにより、次のような疑問が生じます:

MySQL では、一意性制約を持つカラム内で複数の null 値を許可できますか?

答え:

はい、MySQL では一意制約のあるカラム内で複数の null 値を許可します。この動作は、他の特定のデータベース システムとは異なります。

例:

次の SQL ステートメントは、一意として定義され、許可されている整数列 x を持つ table1 という名前のテーブルを作成します。 null 値:

CREATE TABLE table1 (x INT NULL UNIQUE);
ログイン後にコピー

このテーブルに重複した null 値を挿入しても、エラー:

INSERT table1 VALUES (1);
INSERT table1 VALUES (1);   -- Duplicate entry '1' for key 'x'
INSERT table1 VALUES (NULL);
INSERT table1 VALUES (NULL);
ログイン後にコピー

テーブル 1 内のすべてのレコードを取得するクエリを実行すると、次の結果が生成されます:

SELECT * FROM table1;
ログイン後にコピー
x
NULL
NULL
1

注: この動作は固有ですMySQLに。 SQL Server 2005 以前などの他のデータベース システムでは、一意の制約により列内の単一の null 値の許容が制限されています。

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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート