drop trigger if exists testtTrigger;
CREATE TRIGGER testtTrigger after INSERT ON temp
FOR EACH ROW
INSERT INTO author
(AuthorID, AuthorFname, AuthorLname) values (new.aID, new.afname, new.alname)
INSERT INTO book
(`Book ID`, book_Title) values (new.bID, new.btitle);
//我还被告知要在存储过程中运行此代码,但是当我在存储过程中运行它时,它运行没有任何问题,但它不会为我触发,只是不执行对我来说,存储过程代码如下
DELIMITER $$
CREATE TRIGGER testtTrigger BEFORE INSERT ON temp
FOR EACH ROW BEGIN
INSERT INTO author (AuthorID, AuthorFname, AuthorLname) values (new.aID, new.afname, new.alname);
INSERT INTO book (`Book ID`, book_Title) values (new.bID, new.btitle);
END;
最佳答案
drop trigger if exists testtTrigger;
DELIMITER //
CREATE TRIGGER testtTrigger after INSERT ON temp
FOR EACH ROW
BEGIN
INSERT INTO author(AuthorID, AuthorFname, AuthorLname) values (new.aID, new.afname, new.alname);
INSERT INTO book
(`Book ID`, book_Title) values (new.bID, new.btitle);
END; //
DELIMITER;
顺便说一句,这应该使用外键和 CASCADE 选项来完成。
关于mysql - 如何插入触发器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20761721/