簡単な表:
ID, NAME, POST_ID, GROUP_ID
POST_IDまたはGROUP_IDのいずれかを設定する必要がありますが、両方を設定することも、どちらも設定しないこともできません。
有効なケースがあります:
ID, NAME, POST_ID, GROUP_ID
x, y, 1, NULL
x, y, NULL, 4
無効なケース:
ID, NAME, POST_ID, GROUP_ID
x, y, NULL, NULL
x, y, 4, 4
このような複雑な制限ルールを設定することは可能ですか?
答え1
それは不可能だと思います。ユーザーがデータを入力するフロントエンドでそのようなケースをキャッチします。また、両方のフィールドを他の 2 つのフィールドに置き換えることもできます。
'post' または 'group' の値が可能なcategory
タイプのフィールド。IDを含むフィールド。enum
reference
こうすることで、両方が空でないことを要求しやすくなり、投稿 ID またはグループ ID のみを参照できるようになります。