MySQL触发器在执行删除操作之前插入另一个表
我写过这样的东西,但这不起作用。怎么做MySQL触发器在执行删除操作之前插入另一个表,mysql,sql,triggers,Mysql,Sql,Triggers,我写过这样的东西,但这不起作用。怎么做 mysql> create trigger deleteStudentTrigger -> before delete on tblStudent for each row -> begin -> insert into tblDeletedStudents select * from tblStudent where StudentId = new.StudentId; -> end;$ 错误1363(HY000):删除触
mysql> create trigger deleteStudentTrigger
-> before delete on tblStudent for each row
-> begin
-> insert into tblDeletedStudents select * from tblStudent where StudentId = new.StudentId;
-> end;$
错误1363(HY000):删除触发器上没有新行
如错误中所述,没有新行,只有旧行(因为当您删除某些内容时,您知道它不是新的) 应该如此
mysql> create trigger deleteStudentTrigger
-> before delete on tblStudent for each row
-> begin
-> insert into tblDeletedStudents select * from tblStudent where StudentId = old.StudentId;
-> end;$
有关更多信息,请参阅MySQL文档错误消息说明了一切!是的,我知道。我把它贴出来是为了告诉你我试过什么,没有错。但是对tblDeletedStudents的插入操作没有发生。它不应该是
插入tblDeletedStudents值(old.StudentId,old.anothercolumn,…)
?插入选择…
。在您的例子中,我将单独测试插入本身是否正常(这意味着两个表的表模式相同)