SQL~用insert语句添加数据不能和已有的重复

Table1

《SQL~用insert语句添加数据不能和已有的重复》

Table2 初始状态为空

《SQL~用insert语句添加数据不能和已有的重复》

运行sql

《SQL~用insert语句添加数据不能和已有的重复》

table2的结果

Table1中的数据全部插入到table2
《SQL~用insert语句添加数据不能和已有的重复》

将Table1再插入两条数据

新插入的两条 其中一条与之前重复 也就是说 table2中已经有过了
《SQL~用insert语句添加数据不能和已有的重复》

再执行sql

看到重复的没插入 直插入了没有重复的一行
《SQL~用insert语句添加数据不能和已有的重复》

table2的结果

《SQL~用insert语句添加数据不能和已有的重复》

sql:

insert into TABLE2 select * from TABLE1 where not exists (select 1 from TABLE2 where TABLE2.id=TABLE1.id and TABLE2.NAME = TABLE1.NAME)

sql2:

INSERT INTO TABLE2 ( SELECT * FROM TABLE1 tmp WHERE TMP.NAME in( select a from (SELECT ID,NAME as a from TABLE1 group by ID,NAME)) and TMP.NAME NOT IN(SELECT NAME FROM TABLE2) MINUS(SELECT * FROM TABLE2))
    原文作者:SQL
    原文地址: https://blog.csdn.net/han_xiaoxue/article/details/80353912
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞