![](/img/trans.png)
[英]MYSQL: How to copy an entire row from one table to another in mysql with the second table having one extra column?
[英]Copy entire row from one table to another in MYSQL trigger
我有两个具有相同架构的表,我想在触发器中将新插入的记录从table1复制到table2,我的代码在下面并且可以工作,但是只复制id字段
BEGIN
insert into Table2 (id) values (new.id);
END
但是表中有很多列,有一种方法可以将整个记录复制到table2中,而无需指定所有列和值,如下所示
BEGIN
insert into Table2 SELECT * FROM NEW;
END
谢谢
您的第二个SQL很好,但是您必须先执行一次查询才能在选择中使用星号到:
SET IDENTITY_INSERT NEW ON
接着 :
BEGIN
insert into Table2 SELECT * FROM NEW;
END
并且不要忘记最后将其关闭
编辑1
如果它不起作用,也许尝试在sql上设置一些优先级:
INSERT INTO `Table2` (SELECT * FROM `NEW`);
编辑2
如果仍然无法使用,也许您可以尝试直接使用所有元素创建表:
CREATE TABLE Table2 [AS] SELECT * FROM NEW;
这有效
insert into Table2 SELECT * FROM Table1 where id=new.id;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.