1. ホーム
  2. mysql

[解決済み] MySQLで空の値を許容する一意性制約

2022-07-09 06:46:29

質問

商品コードを格納するフィールドがあります。コードは一意ですが、いくつかの製品は単にコードを持っていません。これらはプロバイダ コードであるため、コードを作成することはできません。

このような制約は MySQL で可能ですか?

私はストアドプロシージャとトリガーを知らないので、もし解決策がこれらのいずれかを含むのであれば、我慢してください。

更新してください。 カラムは Null ではありません。それが私がこれを行うことができなかった理由です。

どのように解決するのですか?

はい、できます。参照 MySQL リファレンス(バージョン 5.5) .

UNIQUEインデックスは、インデックス内の全ての値が明瞭でなければならないような制約を作成します。既存の行と一致するキー値を持つ新しい行を追加しようとすると、エラーが発生します。すべてのエンジンで、UNIQUEインデックスはNULLを含むことができる列に対して複数のNULL値を許容します。