我有两个表中的MySQL,并希望定期从一个到另一个插入新的数据。举个例子:插入唯一的非重复到MySQL表时没有键
create table src(n integer, m integer);
create table dst(n integer, m integer);
insert ignore into dst(n, m) select n, m from src;
然而,在DST没有钥匙,所以这也不行!此外,我无法创建任何密钥,因为我们有时希望允许其他进程创建重复项。
下面是我怎么现在做到了;这似乎是一个黑客十岁上下的解决方法,我很担心它会不会高性能:在DST
insert into dst(n, m)
select src.n, src.m
from src left outer join dst
on src.n = dst.n and src.m = dst.m
where dst.n is null and dst.m is null;
我创建索引来解决这个问题,而是一个左外连接还是显得太重量级。是否有更经典的方法来实现这一目标?