generated at
CHECK制約
取りうる値の範囲の指定
その列が取りうる値を制限する



e.g.
age は20~70とか、性別を表すunion型の感じとか

SQLのCASE式を使うとより柔軟に書ける
『達人に学ぶSQL徹底指南書 第2版』 p.11~


MySQLでは、v8.0.16から使える

制約はSQLを使って書ける
sql
CONSTRAINT National_Quota CHECK (Not EXISTS ( SELECT * FROM ExportMovies AS E1 WHERE ExportMovies.movie_title AND ExportMovies.country_code <> E1.country_code));


デメリット
INSERTやUPDATEのたびにこのCHECK部分のSQLが実行されるので更新系のパフォーマンスが悪くなる