2017-11-29 17 views
0

私はdate_of_birthカラムでテーブルを作成し、大人のみが挿入できるようにするcheck()関数を使用したいと思います: 私はすべての原因を試してみる: "curdate ()句」IのMySQLは年齢をカウントするテーブルチェック()を作成します

一つは、CREATE TABLEで追加しようとしました:

CONSTRAINT `adultcheck` CHECK (TIMESTAMPDIFF(YEAR, date_birth, CURDATE()) >= 21) 
+0

私はその複製がhttps://stackoverflow.com/questions/2981930/mysql-trigger-to-prevent-insert-under-certain-conditionsのものだと思います – user2407394

答えて

0

チェック制約がサポートされていません。書き込むことはできますが、無視されます。手動で顔をしている:https://dev.mysql.com/doc/refman/5.7/en/create-table.html

  • CHECK

CHECK句は、すべてのストレージエンジンによって解析されますが、無視されます。

解決策は、アプリケーションで処理することです。

関連する問題