新手求问mysql,想写一个触发器,

CREATE DEFINER=`root`@`localhost` TRIGGER `application_BEFORE_INSERT` BEFORE INSERT ON `application` FOR EACH ROW BEGIN
if(new.date<2021-09-05)
then update application
set isbn=new.isbn,student_id=new.student_id,quantity=new.quantity,
date=new.date;
else signal sqlstate '42S22' set message_text='not on time';
end if;
END

判断输入的时间在截止日期之前,但是写了下面代码之后不管输入什么时间都显示“not on time”,或者希望大佬们帮忙改一改,能够直接生成当前日期,判断当前日期是否在截止时间范围内?

if(new.date<2021-09-05)

改为

if(new.date<unix_timestamp('2021-09-05'))

试试。

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps: 问答会员年卡【8折】购 ,限时加赠IT实体书,即可 享受50次 有问必答服务,了解详情>>>https://t.csdnimg.cn/RW5m