我们可以像这样插入sql吗?
INSERT INTO
A_has_B
(A_id
,B_id
) VALUES (1,2) IF NOT (SELECT COUNT(A_id
) FROM A_has_B
WHERE A_id
= 1 AND B_id
= 2);
答案 0 :(得分:1)
要回答你的问题,你当然可以这样做:
insert into A_has_B ( A_id, B_id )
select 1, 2
from A_has_B
where A_id = 1 and B_id = 2;
但是,我认为你要找的是insert ignore
:
insert ignore into A_has_B ( A_id, B_id ) values (1, 2);
这样,您只需忽略是否存在重复的行,并且您在值上有正确的主键。