mysql条件插入

时间:2011-02-23 12:39:20

标签: mysql

我们可以像这样插入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);

1 个答案:

答案 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);

这样,您只需忽略是否存在重复的行,并且您在值上有正确的主键。