【发布时间】:2013-12-24 13:20:42
【问题描述】:
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;
【问题讨论】:
-
你的临时表是临时表吗?我认为你不能在临时表上创建触发器。
-
我命名为 temp 的意思是“临时”,但实际上该表一直存在并且它不是临时的,我只是命名为 temp 以便与我需要它们的实际表区分开来
-
SQL 只是 结构化查询语言 - 许多数据库系统使用的语言,但不是数据库产品...触发器之类的东西高度特定于供应商 - 所以我们真的需要知道您正在使用什么数据库系统(以及哪个版本)(请相应地更新标签) ....
-
我使用的是mysql server 5.6
-
这是我第一次在堆栈溢出中询问,抱歉,错误和不便。
标签: mysql sql stored-procedures triggers