ホームページ >データベース >mysql チュートリアル >MySQL の UNIQUE 制約は列内の空の値を処理できますか?
MySQL の空の値を含む一意の制約
一意である必要があるが、特定の製品を格納するフィールドがあるシナリオを考えてみましょう。指定されたプロバイダー コードがありません。 MySQL でこのシナリオに対応する一意の制約を定義することは可能ですか?
答え:
はい、次のような一意の制約を作成することは可能です。 MySQL で空の値を許可します。 MySQL リファレンス マニュアル (バージョン 5.5) で説明されているように:
「UNIQUE インデックスは、インデックス内のすべての値が個別である必要があるという制約を作成します。キーを使用して新しい行を追加しようとすると、エラーが発生します」すべてのエンジンで、UNIQUE インデックスは NULL を含むことができる列に対して複数の NULL 値を許可します。"
したがって、NULL 値を許可する列については、 NOT NULL プロパティにもかかわらず、競合を引き起こすことなく一意制約を定義することは完全に有効です。これにより、特定の製品に割り当てられたコードがない状況が許容され、一意性要件に違反することなくデータベースに製品を挿入できるようになります。
以上がMySQL の UNIQUE 制約は列内の空の値を処理できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。