実現したいこと
二つのカラムのどちらにも値が存在する
or
二つのカラムのどちらにも値が存在しない
という制限をSQL上でかけたいです。
具体的には
result: boolean
get_result_at: datetime
というカラムにおいて、
resultが入っていたら、get_result_atも入っていないといけない。
get_result_atが入っていたら、resultも入っていないといけない。
逆に
resultが入っていなければ、get_result_atも入っていてはいけない。
get_result_atが入っていなければ、resultも入っていてはいけない。
という制限です。
このように二つのカラムの存在をどちらも入っているか、どちらも入っていないという制限をかけられる方法はあるのでしょうか?
使っているデータベースは一応 mysql5.7.25 を使っています。
よろしくお願いします。
追記
状態は3つ管理したいのでresultは必要です。
resultがnull → 結果が未発表の状態
resultがtrue → 結果が発表されたかつ合格
resultがfalse → 結果が発表されたかつ不合格
つまり、未発表であれば result と get_resullt_at の両方がnull
発表がされているのであれば result と get_result_at に値が入っていて result は 合格か不合格かを表す
ということがやりたいです。
言葉足らずで申し訳ないです。
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/11/06 00:24
2019/11/06 00:29