MySQL如果不存在则插入,保证不重复插入

版权声明:本文为博主原创文章,欢迎转载,转载时请以超链接形式标明文章原始出处。 https://blog.csdn.net/lilongsy/article/details/84826657

INSERT INTO IF EXISTS

MySQL的INSERT INTO IF EXISTS语句可以保证不重复插入,一般用户批量导入一些格式化好的数据。

INSERT INTO category(catname,cattype,cid,caturl,keywords) 
SELECT '中国人', 2, 2031, 'china','中国人民' FROM DUAL 
WHERE NOT EXISTS
(SELECT catname FROM category WHERE catname = '中国人');

其中DUAL是临时表,不需要物理创建,这么用即可。

ON DUPLICATE KEY UPDATE

还有另外一种方法ON DUPLICATE KEY UPDATE,一般用于一张的数据导入到另一张表中。

INSERT INTO tb_count(uuid, click, liked, comment_count ) 
(SELECT uuid, click, liked, comment_count FROM tb_content) 
ON DUPLICATE KEY UPDATE tb_count.uuid = tb_count.uuid;

参考:https://my.oschina.net/jsan/blog/270161/

猜你喜欢

转载自blog.csdn.net/lilongsy/article/details/84826657