【发布时间】:2016-05-09 17:23:40
【问题描述】:
我有一张叫书的桌子
create table books (price INT,title VARCHAR(50),type VARCHAR(5));
我需要一个触发器,在另一个名为myregister 的表中插入当前日期,以及在该日期删除的书籍数量。所以我想出了这个:
CREATE TABLE myregister (dates DATE,number INT);
DELIMITER |
CREATE TRIGGER deleted AFTER DELETE on books
FOR EACH ROW BEGIN
set @cnt = if(@cnt is null, 1, (@cnt+1));
set @dat = CURDATE();
INSERT INTO myregister values(CURDATE(),@cnt);
END;
|
DELIMITER ;
但是有两个问题:
变量是全局变量,每删除一本书都会计算在内,与日期无关。
触发器计数每一行,所以最后,表 myregister 有
n行,每一行对应于每本书的删除。
【问题讨论】:
标签: mysql triggers sql-delete