mysql怎样实现不重复插入数据

mysql使用用insert往数据表中插入数据时,为了不重复插入数据,往往先查询一下该条数据是否已经存在,若不存在才进行插入操作。

而使用 insert if not exists语句,就不需重复做上述两道工序,一个sql语句防止插入重复数据。

 要求demo列的值不能有相同的值(id是主键,设置为自增长)

SELECT * FROM `zyt`;

 INSERT INTO zyt
    ( demo)
    SELECT  'IBM'
    WHERE not exists (select demo from zyt
    where demo = 'IBM01');

 要求新插入的记录与demo01与demo02的值均不同

 INSERT INTO zyt
    ( demo01,demo02)
    SELECT  'IBM01','IBM01'
    WHERE not exists (select demo01 from zyt
    where demo01 = 'IBM01' AND demo02  = 'IBM01');

第一次执行:(由于没有重复记录,因此可以插入记录)

再次执行相同sql语句,由于刚刚插入的记录和要插入的记录一样,不能进行插入即为成功

原文地址:https://www.cnblogs.com/zyt-bg/p/12356952.html