SQLite中特殊的INSERT語句


SQLite中特殊的INSERT語句
 
在SQLite中,INSERT是基本語句,用來向表中插入數據。但是當表中存在字段存在唯一、非空、檢查、主鍵等約束時,插入的數據很容易和約束沖突,造成插入操作失敗。為了解決這類問題,SQLite提供集中特殊的INSERT語句。下面依次介紹一下:
 
(1)INSERT OR REPLACE語句:如果引起約束沖突,則取消插入操作。如果是與唯一、主鍵約束沖突,則將已存在的數據進行更新。如果是與非空約束操作,並且存在默認值設置,則將沖突的空列使用默認值替代,然后插入;否則,按照INSERT OR ABORT方式執行。如果是與檢查約束沖突,則按照INSERT OR ABORT執行。
 
(2)INSERT OR ABORT語句:如果引起約束沖突,則取消該插入操作。如果在一個事務中,不會回滾當前事務,繼續執行當前事務的后續操作。
 
(3)INSERT OR ROLLBACK語句:如果引起約束沖突,則取消該插入操作。如果在一個事務中,會回滾當前事務。
 
(4)INSERT OR FAIL語句:如果引起約束沖突,則取消該插入操作。如果在一個事務中,不會回滾當前事務,但會取消當前事務的后續操作。
 
(5)INSERT OR IGNORE語句:如果引起約束沖突,則取消該插入操作。如果在一個事務中,不會回滾當前事務,繼續執行當前事務的后續操作。與INSERT OR ABORT不同的,它不會觸發SQLITE_CONSTRAINT錯誤。

 


免責聲明!

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



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