我如何创建一个不允许我在时间段之间引入某些日期的触发器?感谢
答案 0 :(得分:3)
如果你想在一个时间段之间的某个日期之间抛出错误,你可以做这样的事情(例如)。
create table myTable(id int,datefield datetime);
create trigger date_check before insert on myTable
for each row
begin
IF new.datefield BETWEEN '2015-01-01' AND '2015-12-31' THEN
SIGNAL SQLSTATE '45001' SET MESSAGE_TEXT = "Date Not Allowed";
END IF;
end/
http://sqlfiddle.com/#!9/1a1505/1
当用户尝试在2015年内将日期插入数据库时,此触发器将引发错误。
您也可以为before update
创建另一个触发器,因此如果用户尝试将其更新为您的时间段内的日期,我也会抛出错误。