我正在忙着制作一个供个人使用的日历,我想知道是否可以通过在表字段中添加限制来限制开始日期的值在结束日期之前(或其他方式)。
我想在创建表时这样做。
答案 0 :(得分:1)
MySQL没有实现检查约束。所以,为了做你要求的事情,你需要实现一个触发器。
但是,可能还有另一种方法,只需修改问题。而不是存储结束日期,而是存储天数 - 作为无符号值。然后,您始终知道结束日期是在开始日期之前或之后。
然后,您可以创建一个视图来计算实际结束日期:
create view v_t as
select t.*, date_add(start_date, interval dur day) as end_date
from t;