有tbl1,tbl2 两个结构一样的表,但tbl1中,用a,b两个字段建了主键,现在要从tbl2向tbl1中插入a、b 不重复的记录,我用下面的语句(搜的),但还是提示主键冲突,请问要如何写?
INSERT INTO tbl1
(a, b)
SELECT a, b
FROM tbl2
WHERE not exists (select * from tbl1 where tbl1.a=tbl2.a and tbl1.b=tbl2.b)

解决方案 »

  1.   

    INSERT ignore INTO tbl1
    (a, b)
    SELECT a, b
    FROM tbl2
    WHERE not exists (select * from tbl1 where tbl1.a=tbl2.a and tbl1.b=tbl2.b)
      

  2.   

    INSERT INTO tbl1
    (a, b)
    SELECT a, b
    FROM tbl2 a1 left join tb11 a2 on a1.a=a2.a and a1.b=a2.b
    where isnull(a2.a)
      

  3.   

    INSERT ignore INTO tbl1
    (a, b)
    SELECT a, b
    FROM tbl2 不用where条件 就可以