通过select插入表前如何检查重复项: + j0 R* {( b) E' rinsert into table1select col1,col2 from table2我需要检查table是否已有table1.col1.value = table2.col1.value如果是,从插入中排除行。+ k7 S- b0 ~$ ]. u) S
: Q9 w; Z' V7 e/ Z: S 解决方案: & d9 [; E# f" P7 k INSERT INTO table1 SELECT t2.col t2.col2 FROM table2 t2 LEFT JOIN table1 t1 ON t2.col1 = t1.col1 AND t2.col2 = t1.col2 WHERE t1.col1 IS NULL替代使用 # Q- N4 T3 N y- G- m9 k+ [INSERT INTO @table2 SELECT col col2 FROM table1 EXCEPT SELECT t1.col t1.col2 FROM table1 t1 INNER JOIN table2 t2 ON t1.col1 = t2.col1 AND t1.col2 = t2.col2使用不存在的替代方法* i9 H' e( C3 _. A6 \9 F
INSERT INTO table2 SELECT col1,col2 FROM table1 t1WHERENOT EXISTS( SELECT 1 FROM table2 t2 WHERE t1.col1 = t2.col1 AND t1.col2 = t2.col2)