MySQL使用年龄计数创建表check()

时间:2017-11-29 09:08:12

标签: mysql sql insert create-table

我想用date_of_birth列创建表,并使用check()函数只允许插入成人。 我尝试的所有原因:“curdate()不能用于CHECH()子句”

其中一个我尝试添加CREATE TABLE:

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

1 个答案:

答案 0 :(得分:0)

不支持检查约束。你可以写它们,但它们会被忽略。请查看手册:https://dev.mysql.com/doc/refman/5.7/en/create-table.html

  
      
  • CHECK
  •   
     

CHECK子句被解析但被所有存储引擎忽略。

解决方案是在您的应用程序中处理它。