我对使用PHPMyAdmin的整个触发器事件都很陌生。我真的不知道自己做错了什么,但我想简单地将所有数据从table1
复制到table2
,就像存档或类似的东西一样。每次有插入时,都应将数据复制到table2
。
Table1
有以下属性/字段:
ID
customerID
BookSN(SN = serialnumber)
created_at(when he lend the book)
updated_at(when he gave the book back)
Table2
:
与Table1
我试图解决这个问题:
delimiter //
CREATE TRIGGER `simple_copy` AFTER INSERT ON table1
FOR EACH ROW BEGIN
insert into table2(id, customerID, BookSN, created_at,updated_at)
select ?? -- i dont know what to write here...
from table1;
END;
//
delimiter ;
如果你能帮助我解决这个问题,我将非常感激。
答案 0 :(得分:1)
如果table1
中有一些您希望在table2
中复制的数据,请先运行此操作:
INSERT INTO table2(id, customerID, BookSN, created_at, updated_at)
SELECT id, customerID, BookSN, created_at, updated_at
FROM table1;
然后,您现在可以使用触发器将新插入的数据从table1
连续复制到table2
。
DELIMITER //
CREATE TRIGGER `simple_copy` AFTER INSERT ON table1
FOR EACH ROW BEGIN
INSERT INTO table2(id, customerID, BookSN, created_at, updated_at)
VALUE (new.id, new.customerID, new.BookSN, new.created_at, new.updated_at);
END//
DELIMITER ;
但如果table1
为空,那么只需使用触发器即可。
答案 1 :(得分:0)
如果你想复制你必须使用的所有列,如
delimiter #
CREATE TRIGGER `simple_copy` AFTER INSERT ON table1
FOR EACH ROW
BEGIN
insert into table2(id, customerID, BookSN, created_at,updated_at)
values (new.id, new.customerID, new.BookSN, new.created_at,new.updated_at)
from table1;
END#
delimiter ;