MySQL 插入数据并检查重复

作者:V君 发布于:2016-7-27 14:15 Wednesday 分类:挖坑经验

TL;DR: 基于爆栈回答修改


INSERT INTO `bsc_data` (`Name`)

SELECT 'bala' FROM `bsc_data`

WHERE NOT EXISTS (SELECT 1 FROM `bsc_data` WHERE `Name` = 'bala') LIMIT 1 ;


蛋点总结:

MySQL 单纯执行语句不能像 SQL Server 那样用 IF 流控制语句, 只能WHERE来变通

并且还要小心炸库, 因为写少了 LIMIT 1, 导致第一行 SELECT 条件为成立

产生与表行数相等的重复数据

还奇怪为啥几十行数据插入这么久, 原来数据库爆炸了, 还删好久才删干净...


偷偷更新:

用惯了MySQL之后真回不去M$SQL,当你需要检查id是否存在重复,否则插入数据的时候.

只需要加一个IGNORE在INSERT关键字后面就可以轻松解决


标签: 软件开发 数据库

引用地址:

发表评论:

Powered by emlog 去你妹的备案 sitemap