当前位置:数据库 > MySQL >>

mysql数据库触发器的使用问题,求教了!!!

我在做一个图书管理系统,用的是jsp+mysql,我的数据库表lend里有一个字段lend_date和left_day,分别表示借出图书的时间和剩余天数,默认是30天,现在如果往该表中插入一条记录,怎么样能让字段left_day随着时间的推移逐天减少呢??这个触发器应该怎么写???谢谢了!!
追问:不行啊,我是将30-datediff(day,lend_date,getdate())设为left_day的默认值,但保存时出错!提示:Invalid default value for 'left_day'
答案:其实实现你这个功能可以通过事件+过程,代码如下:
-- 创建过程
CREATE PROCEDURE spupdatedate
()
BEGIN
    UPDATE lend SET left_day=left_day-1;
END;
-- 创建事件,每天运行一次spupdatedate存储过程
CREATE EVENT e_spupdatedate
ON SCHEDULE EVERY 1 DAY
DO
EXEC spupdatedate;
其他:left_day=30-datediff(day,lend_date,getdate())
为什么要用触发器呢? left_day
没必要设计在数据库里,也是不科学了。你最好设计一个常春藤量如$LeftDay=30
以后便于修改。
在个人借出功能,用jsp程序分析一下即可。就一个比较函数

上一个:有一个mysql数据库,其中的数据表都用kjc作为前缀,如kjc_people,kjc_易做图,这里的kjc是什么意思
下一个:在本地mysql上,如何将数据库A里面的表1里面的某些字段通过条件查询同步到数据库B里面的表2里面

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,