sql 條件插入

某表中已有該值時(shí),不添加數(shù)據(jù)

表中有field1值為v1的記錄時(shí)不插入

INSERT INTO table(field1, field2, ...fieldn)
SELECT 'v1', 'v2', ...'vn'
FROM DUAL
WHERE NOT EXISTS(SELECT 1 FROM table WHERE field1 = v1)

實(shí)例

INSERT INTO tableA(
        //要插入的字段
            id,
            device_id,
            data,
            create_by,
            create_date
        ) SELECT
        //要插入的值,為空可以用null代替
            value1,
            value2,
            value1,
            value4,
            value5
        FROM DUAL
        //dual是為了構(gòu)建查詢語(yǔ)句而存在的表
        WHERE NOT EXISTS(SELECT 1 FROM tableA WHERE device_id = value2 )  
        //判斷device_id相同的值是否存在,存在則不添加
        //EXISTS: 判斷子查詢是否返回結(jié)果集,不要求知道返回什么
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • ORA-00001: 違反唯一約束條件 (.) 錯(cuò)誤說明:當(dāng)在唯一索引所對(duì)應(yīng)的列上鍵入重復(fù)值時(shí),會(huì)觸發(fā)此異常。 O...
    我想起個(gè)好名字閱讀 6,017評(píng)論 0 9
  • 國(guó)家電網(wǎng)公司企業(yè)標(biāo)準(zhǔn)(Q/GDW)- 面向?qū)ο蟮挠秒娦畔?shù)據(jù)交換協(xié)議 - 報(bào)批稿:20170802 前言: 排版 ...
    庭說閱讀 12,514評(píng)論 6 13
  • 有時(shí)對(duì)數(shù)據(jù)庫(kù)進(jìn)行插入操作時(shí),需要數(shù)據(jù)庫(kù)不存在時(shí)重復(fù)數(shù)據(jù)才進(jìn)行插入。代碼實(shí)現(xiàn)如下
    Toomi閱讀 245評(píng)論 0 0
  • 這是16年5月份編輯的一份比較雜亂適合自己觀看的學(xué)習(xí)記錄文檔,今天18年5月份再次想寫文章,發(fā)現(xiàn)簡(jiǎn)書還為我保存起的...
    Jenaral閱讀 3,172評(píng)論 2 9
  • Swift1> Swift和OC的區(qū)別1.1> Swift沒有地址/指針的概念1.2> 泛型1.3> 類型嚴(yán)謹(jǐn) 對(duì)...
    cosWriter閱讀 11,681評(píng)論 1 32

友情鏈接更多精彩內(nèi)容