这是这个问题的延续:将数据插入到具有外键SQL 的表中
我需要创建一个触发器,在将一行插入表后更新计数器变量。计数器变量跟踪ItemBook表中插入了多少新行。但是,在运行脚本之后,触发器似乎不起作用。此外,如果我已经创建了这个触发器,我如何重用它?
CREATE TABLE count (
countBook INT DEFAULT 0 NOT NULL,
);
CREATE
TRIGGER count_trigger AFTER INSERT
ON ItemBook
FOR EACH ROW
UPDATE count
SET countBook = (SELECT COUNT(*) FROM Itembook)
INSERT INTO Item
VALUES('Clippers','amazon.com', 'hair clippers');
SET SQL_SAFE_UPDATES = 0;
INSERT INTO ItemBook
VALUES('Clippers','Bob')
SET SQL_SAFE_UPDATES = 1;
SELECT * FROM count;
countBook列在运行脚本后不返回任何内容。此外,如果我再次尝试重新运行这个脚本,它会说Trigger已经存在(在创建它之后(。如何重用此触发器?
触发器看起来像这样:
CREATE TRIGGER count_trigger AFTER INSERT ON ItemBook
FOR EACH ROW
BEGIN
UPDATE count
SET countBook = countBook + 1;
END;
有一张只有一行的表来存放这些信息似乎很奇怪。但这似乎是你想要做的