您的位置:首頁技術文章
文章詳情頁

mysql中有沒有當這條數據存在的時候不插入,不存在則插入

瀏覽:116日期:2022-06-18 08:30:25

問題描述

mysql中有沒有依據某一列當這存在這個數據存在的時候不插入,不存在則插入。這一列不是唯一索引和主鍵。列如:ttid ooid title

11a 12 13 24 25 26

現在我有一條數據ttid=1,ooid=7 title=b,因為ttid=1在數據庫中已經存在所以這條記錄不插入

問題解答

回答1:

我的話我會先select下,看看有沒有,如果num==0我就插入

回答2:

如果非要用SQL實現,可以這么寫:

insert into table(ttid,ooid,title) select 1,7,’b’ from table where not exists(select ttid from table where ttid=1) limit 1

但是建議還是先查一下結果為0的話再插入好一點,除非是你這個操作很頻繁,n次操作會帶來2n次數據庫連接,數據庫壓力比較大那就用SQL。

回答3:

假設沒有其他異常,我的做法是

int count = dao.update(...);//where conditionsif(count == 1) { // we have updated one record} else { // do insert}

如果存在原來的記錄的話,這里只做一次更新操作;如果不存在就做一個嘗試更新的操作和一次插入的操作。

相關文章:
国产综合久久一区二区三区