CREATE TABLE borrow( number BIGINT, borrowname varchar(10), name varchar(10), id BIGINT, phone BIGINT, borrowtime date, returntime date, borrownum BIGINT, PRIMARY key(number) )ENGINE=InnoDB DEFAULT CHARSET=utf8;create table reader( number BIGINT, borrowname varchar(10), name varchar(10), id BIGINT, phone BIGINT, sex varchar(10), borrownum BIGINT, originalbalance double, PRIMARY KEY(number) )ENGINE=InnoDB DEFAULT CHARSET=utf8;delimiter%% CREATE TRIGGER reader_borrow AFTER INSERT on reader FOR EACH ROW INSERT INTO borrow VALUES(new.number,new.borrowname,new.name,new.id,new.phone,NOW(),DATE_ADD(NOW(),INTERVAL 30 day),new.borrownum)%% delimiter;之间的触发插入语句
时间: 2023-12-25 19:02:35 浏览: 73
这是一个在插入 reader 表后自动触发的触发器,将相关信息插入到 borrow 表中。具体的触发器语句如下:
delimiter %%
CREATE TRIGGER reader_borrow AFTER INSERT ON reader FOR EACH ROW
INSERT INTO borrow VALUES(new.number, new.borrowname, new.name, new.id, new.phone, NOW(), DATE_ADD(NOW(), INTERVAL 30 DAY), new.borrownum);
%%
delimiter ;
这个触发器定义了在每向 reader 表中插入一行数据时,自动执行一次插入操作,将对应信息插入到 borrow 表中。这个触发器使用了 MySQL 的 DATE_ADD 函数来计算还书时间,将借书时间加上 30 天得到还书时间。注意,在本例中,分隔符被设置为 "%%",以避免 SQL 语句中的分号与触发器定义中的分号冲突。最后,将分隔符重置为默认值 ";"。
阅读全文
相关推荐








