我编写了一个触发器,它将记录从表 members_new 传输到members_old
. trigger 的作用是在 insert in之后在members_old
on中插入一条记录。所以假设一条记录被插入到一个likemembers_new
members_new
nMmbID nMmbName nMmbAdd
1 Abhi Bangalore
这条记录将被插入到members_old
与表相同的数据结构中
我的触发器是这样的:
create trigger add_new_record
after
insert on members_new
for each row
INSERT INTO `test`.`members_old`
(
`nMmbID`,
`nMmbName`,
`nMmbAdd`
)
(
SELECT
`members_new`.`nMmbID`,
`members_new`.`nMmbName`,
`members_new`.`nMmbAdd`
FROM `test`.`members_new`
where nMmbID = (select max(nMmbID) from `test`.`members_new` // written to read the last record from the members_new and stop duplication on the members_old , also this will reduce the chances of any error . )
)
这个触发器现在正在工作,但我的困惑是,如果在一个实例中发生多次插入会发生什么。
它会降低性能吗?
由于我members_old
有 FK,我会在任何情况下面临僵局吗?
如果有针对这种情况的更好解决方案,请关注