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语句,由于刚刚插入的记录和要插入的记录一样,不能进行插入即为成功