这个问题在这里已经有答案了:
mysql insert if value在另一个表中不存在(5个答案)
如果行不存在,则从另一个表(2个答案)插入到表中
两年前关门了。
我创建了一个表 A
以及 B
使用相同的精确列:
create or replace table a (
a1 varchar(30),
a2 int,
a3 int
);
create or replace table b (
b1 varchar(30),
b2 int,
b3 int
);
然后在每个中插入2个值:
insert into a values ('abc', 1, 2);
insert into a values ('abd', 1, 2);
insert into b values ('abd', 1, 2);
insert into b values ('abe', 1, 2);
如何使insert语句只插入来自 B
表中不存在的 A
(例如使用join语句?)?
insert into table a (
select * from b
);
(没有主键帮助)。加分是只检查两列是否相同(例如。 a1 != b1
以及 a2 != b2
).
谢谢!
3条答案
按热度按时间xoefb8l81#
这应该能满足您的需求:
z9ju0rcb2#
试试这个
gblwokeq3#
我会用
not exists
: