我有以下表格: https://i.stack.imgur.com/bGvDW.png
在哪里可以输入此约束来检查年龄是否至少为 18 岁?有点令人困惑
我们可以使用 CHECK 约束,但我们必须对日期进行硬编码,因为 CHECK 约束中不允许CURRENT_DATE。请注意,检查约束仅在最近版本的 mySQL.
上起作用,如果这种方法不是您要寻找的,另一种可能性是插入前的触发器。触发器的优点是能够检查其他行和其他表,这是 CONSTRAINTS 无法做到的。
create table Supporter ( name varchar(25), email varchar(25), phone varchar(25), address varchar(25), zip_code varchar(25), city varchar(25), birthday date CHECK (birthday < '2004-03-17') ) ;
insert into Supporter (name, birthday) values ('Andrew','2000-01-01');
insert into Supporter (name, birthday) values ('Bernard','2010-01-01');
检查约束"Supporter_chk_1"被违反。
db<>小提琴在这里