MySQL触发器将所有字段值复制到另一个表中,如何?

时间:2013-03-14 20:10:35

标签: mysql triggers

我有2个相同的表(100%相同),

DELIMITER $$

CREATE
/*[DEFINER = { user | CURRENT_USER }]*/
TRIGGER `db`.`new_user` AFTER INSERT
ON `db`.`user`
FOR EACH ROW BEGIN
INSERT INTO db2.`users` COPY ALL INSERTED DATA
END$$

DELIMITER ;

INSERT查询应该如何?我是否必须逐个指定所有字段名称?

1 个答案:

答案 0 :(得分:1)

由于NEW不是行标识符,而是引用由触发器操纵的行中特定列的语法方式,因此需要指定列名

INSERT INTO db2.`users` VALUES(NEW.id, NEW.username, ...);