私はショップデータベースを持っています。これまでのところ、あなたは登録ユーザーであるときにしか買うことができないので、すべての顧客はデータベースに一度だけ登録する必要があるため、顧客の電子メールアドレスに対してユニークなインデックスを持っています。MySql:他のフィールドがfalseの場合のユニークなインデックスのみ
今、自分で登録することなく注文したいと思っています。そのアイデアは、ユーザーがゲストとして作成されたかどうかを示すために、フィールド "guest BOOL NOT NULL DEFAULT false"をユーザーデータベースに追加することでした。しかし、注文をゲストとして許可することで、同じユーザーの電子メールアドレスを複数回ユーザーテーブルに入れることができます(1人のユーザーがゲストとして複数回注文する可能性があるため)。
だから、私は次のようなものが必要になるでしょう: "email-address"フィールドは一意であるべきですが、 "guest"フィールドがfalseのときだけです。
mysql-featuresでこれを行うことは可能ですか、または電子メールから一意のインデックスを削除して、すべての電子メールが一意でなければならないコードにしておく必要がありますか?