sql >> データベース >  >> RDS >> Mysql

フィールド値に基づいて一意の制約を追加します

    実際には、できません DDL構文で条件付き構造を定義します。フィールドはNULLのいずれかになります またはNOT NULL -3番目のオプションはありません(構造内の別のフィールドに依存することはできません

    ただし、トリガーを介して目的の動作をエミュレートすることはできます。 UPDATEを中断できます / INSERT 受信データがロジックの観点から無効である場合のステートメント。これは次の方法で実行できます:

    CREATE TRIGGER `bannedOnCheck`
    BEFORE INSERT ON `fa_ranking_system`.`Player`
    FOR EACH ROW
    BEGIN
      IF(new.IsBanned && new.BannedOn IS NULL) THEN
        SIGNAL 'Integrity check failed: can not set banned without ban date'
      END IF
    END
    



    1. MySQL:GROUP BYを使用する場合、空のフィールドをゼロで埋めます

    2. Laravelの雄弁な関係による並べ替え

    3. psql:致命的:ユーザー開発者のピア認証に失敗しました

    4. LaravelScoutとAlgoliaを使用した多言語インデックス