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(表名))    

 很簡單吧?喵~~


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM