您好,登錄后才能下訂單哦!
小編給大家分享一下SQLite中特殊的INSERT語(yǔ)句怎么用,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!
SQLite中特殊的INSERT語(yǔ)句
在SQLite中,INSERT是基本語(yǔ)句,用來(lái)向表中插入數(shù)據(jù)。但是當(dāng)表中存在字段存在唯一、非空、檢查、主鍵等約束時(shí),插入的數(shù)據(jù)很容易和約束沖突,造成插入操作失敗。為了解決這類(lèi)問(wèn)題,SQLite提供集中特殊的INSERT語(yǔ)句。下面依次介紹一下:
(1)INSERT OR REPLACE語(yǔ)句:如果引起約束沖突,則取消插入操作。如果是與唯一、主鍵約束沖突,則將已存在的數(shù)據(jù)進(jìn)行更新。如果是與非空約束操作,并且存在默認(rèn)值設(shè)置,則將沖突的空列使用默認(rèn)值替代,然后插入;否則,按照INSERT OR ABORT方式執(zhí)行。如果是與檢查約束沖突,則按照INSERT OR ABORT執(zhí)行。
(2)INSERT OR ABORT語(yǔ)句:如果引起約束沖突,則取消該插入操作。如果在一個(gè)事務(wù)中,不會(huì)回滾當(dāng)前事務(wù),繼續(xù)執(zhí)行當(dāng)前事務(wù)的后續(xù)操作。
(3)INSERT OR ROLLBACK語(yǔ)句:如果引起約束沖突,則取消該插入操作。如果在一個(gè)事務(wù)中,會(huì)回滾當(dāng)前事務(wù)。
(4)INSERT OR FAIL語(yǔ)句:如果引起約束沖突,則取消該插入操作。如果在一個(gè)事務(wù)中,不會(huì)回滾當(dāng)前事務(wù),但會(huì)取消當(dāng)前事務(wù)的后續(xù)操作。
(5)INSERT OR IGNORE語(yǔ)句:如果引起約束沖突,則取消該插入操作。如果在一個(gè)事務(wù)中,不會(huì)回滾當(dāng)前事務(wù),繼續(xù)執(zhí)行當(dāng)前事務(wù)的后續(xù)操作。與INSERT OR ABORT不同的,它不會(huì)觸發(fā)SQLITE_CONSTRAINT錯(cuò)誤。
看完了這篇文章,相信你對(duì)“SQLite中特殊的INSERT語(yǔ)句怎么用”有了一定的了解,如果想了解更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。