mysql避免插入重复数据

 我们在进行数据库操作的时候,有时候需要插入不重复的数据。所谓不重复的数据,可以是某个字段不重复,也可以是某几个字段重复。当然我们可以在插入之前先将数据库的数据查询出来,然后与将要插入的数据进行对比,如果出现一样的数据信息,那么就不进行插入,但是这种方法是不明智的。如果数据库的数据很多,那么必然影响到效率。最近在做一个项目的时候,出现了这种情况,其实我们可以使用sql语句帮助我们达到目的。下面就是我写的sql语句:

1 insert into question(path) select $value from DUAL where $value not in (select path from question)

 因为我在PHP页面中使用的sql语句,所以$value是我申明的变量.其中DUAL表示在虚拟表中进行查询。这样一句SQL就能保证我在requestion表中不会插入相同的path。

 如果你还想比较其他数据是否有重复,那么SQL语句的格式为:

insert into tablename(表名)  (name1,name2.....)(要比较的字段名)   
select $value1,$value2,......(要插入的真实数据)    
from DUAL where $value1,$value2,......(要插入的真实数据) 
not in (
        select name1,name2,....(要比较的字段名) from tablename(表名))    

 很简单吧?喵~~

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。