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錯誤。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29597077/viewspace-2137751/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- SQLite Insert 語句SQLite
- 教你使用SQLite-insert語句SQLite
- SQLite語句(二):INSERT DELETE UPDATE SELECTSQLitedelete
- SQLite的Pragma語句SQLite
- 常用的Sqlite SQL語句(持續更新中)SQLite
- 使用SQL語句獲取SQLite中的表定義SQLite
- [Sqlite] Sqlite的基本日常SQL操作語句彙總SQLite
- 【SQL】9 SQL INSERT INTO 語句SQL
- Sql Server系列:Insert語句SQLServer
- SQLite語句學習筆記SQLite筆記
- SQLite語句(三):JOIN和UNIONSQLite
- MySQL INSERT IGNORE語句的使用MySql
- oracle9i中insert 語句新增特性(轉)Oracle
- mysql insert的特殊用法MySql
- 快速執行大量 insert 語句的方法
- SQLite INSERT OR REPLACE使用SQLite
- Android原生SQLite常用SQL語句AndroidSQLite
- SQLite SQL語句結構詳解SQLite
- SQLite語句(一):表的操作和約束SQLite
- 【SQL】14 UNION 操作符、SELECT INTO 語句、INSERT INTO SELECT 語句、CREATE DATABASE 語句、CREATE TABLE 語句SQLDatabase
- PostgreSQL的insert語句執行過程分析SQL
- 一個insert插入語句很慢的優化優化
- oracle dblink實現insert語句的同步Oracle
- SQLTest系列之INSERT語句測試SQL
- SQLite 之 INSERT OR REPLACE使用SQLite
- MySQL:一個簡單insert語句的大概流程MySql
- 【Mysql】兩條insert 語句產生的死鎖MySql
- 關於sqlite的特殊字元轉義SQLite字元
- oracle-資料庫- insert 插入語句Oracle資料庫
- 用merge 語句代替 insert 和deletedelete
- 關於加快INSERT語句執行速度的測試
- Oracle 使用一條insert語句完成多表插入Oracle
- mysql insert語句錯誤問題解決MySql
- LINQ to SQL語句之Insert/Update/Delete操作SQLdelete
- 【SQL】使用一條INSERT語句完成多表插入SQL
- MySQL 5.5 INSERT ... ON DUPLICATE KEY UPDATE語句說明MySql
- DBeaver如何生成select,update,delete,insert語句delete
- BREW中的特殊語音處理