在对 table 进行任何修改后使用触发器将受影响的行复制到新的 table

Using a trigger on a table after any modification to copy affected row into a new table

我想在 table 中插入、更新或删除任何行时创建此示例 table 的触发器。我以前从未使用过触发器,所以这将是我的第一个。

到目前为止我有这个代码:

  DROP TRIGGER auditemployees
CREATE TRIGGER auditemployees AFTER INSERT ON employees

FOR EACH ROW 
BEGIN  
INSERT INTO employees_trigger select * from employees where emp_no = NEW.emp_no;
END;

现在的问题是:

我想将受影响的行复制到另一个 table 在这种情况下 employees_trigger,但是为了复制整行并传递值,我能想到的就是使用变量对于我认为听起来效率低下的每个字段,因为如果我有 50 个字段,我将不得不使用 50 个变量,然后将所有这些值插入新的 table。

有什么更好更有效的方法吗?

我也收到错误:

> ERROR 1064 (42000): You have an error in your SQL syntax; check the
> manual that corresponds to your MySQL server version for the right
> syntax to use near 'CREATE TRIGGER auditemployees AFTER INSERT ON
> employees

每个语句都需要终止 -- DROP 语句末尾没有 ;

您缺少 DELIMITER 语句,并且您没有为 CREATE 使用不同的分隔符。

50 个变量的 OLD.* 有什么问题?