MYSQL触发器在将行插入另一个表后未添加计数



这是这个问题的延续:将数据插入到具有外键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;

有一张只有一行的表来存放这些信息似乎很奇怪。但这似乎是你想要做的

相关内容

  • 没有找到相关文章

最新更新