触发器不使用更新查询

时间:2017-03-17 13:21:50

标签: mysql triggers

我有两个表tbl_date和tbl_fine分别带有ret和fine列。我希望只要系统日期大于ret,罚款就会增加1。我试图制作一个触发器,但是它给出了一个错误。 dbms是MySQL。 Fine是整数类型,ret是日期类型。请告诉我有什么问题。提前谢谢。

   create trigger t1
-> before insert on tbl_date
-> for each row
-> begin
-> declare retv date;
-> select ret into @retv from tbl_date;
-> while(curdate()>@retv)
-> update tbl_fine set fine=fine+1;
-> end while;
-> end;
-> //

错误1064(42000):您的SQL语法有错误;检查与您的MySQL服务器版本对应的手册,以便在'update tbl_fine set fine = fine + 1附近使用正确的语法; 结束; 结束'第8行

创建表tbl_date(ret date); 创建表tbl_fine(精细整数(4)默认为0);

0 个答案:

没有答案