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
- insert all和insert first語句的用法
- insert into select語句與select into from語句
- [20181120]奇怪的insert語句.txt
- 【SQL】9 SQL INSERT INTO 語句SQL
- mysql insert的特殊用法MySql
- Android原生SQLite常用SQL語句AndroidSQLite
- SQLite語句學習筆記SQLite筆記
- SQLite語句(三):JOIN和UNIONSQLite
- 【SQL】14 UNION 操作符、SELECT INTO 語句、INSERT INTO SELECT 語句、CREATE DATABASE 語句、CREATE TABLE 語句SQLDatabase
- PostgreSQL的insert語句執行過程分析SQL
- SQLite 之 INSERT OR REPLACE使用SQLite
- SQLite語句(一):表的操作和約束SQLite
- MySQL:一個簡單insert語句的大概流程MySql
- DBeaver如何生成select,update,delete,insert語句delete
- oracle-資料庫- insert 插入語句Oracle資料庫
- KunlunDB功能之insert/update/delete...returning語句delete
- INSERT...SELECT語句對查詢的表加鎖嗎
- Exadata混合列壓縮功能與INSERT語句BF
- 輕量ORM-SqlRepoEx (四)INSERT、UPDATE、DELETE 語句ORMSQLdelete
- Oracle中的insert/insert all/insert firstOracle
- 怎樣在sqlite3上執行SQL語句SQLite
- 過往記憶的專欄文章轉載:Hive insert into語句用法Hive
- Sqlserver、oracle中Merge的使用方法,一個merge語句搞定多個Insert,Update,Delete操作SQLServerOracledelete
- TiDB 原始碼閱讀系列文章(十六)INSERT 語句詳解TiDB原始碼
- 比CRUD多一點兒(二):基礎INSERT、SELECT語句
- PostgreSQL 原始碼解讀(14)- Insert語句(如何構造PlannedStmt)SQL原始碼
- Mysql中的DQL語句MySql
- JavaScript中的switch語句JavaScript
- Javascript中的label語句JavaScript
- python 中的一些特殊語法Python
- MySQL全文索引原始碼剖析之Insert語句執行過程MySql索引原始碼
- Oracle exp dmp包檔案轉化為insert語句,extract dmp to sqlfileOracleSQL
- PostgreSQL 原始碼解讀(15)- Insert語句(執行過程跟蹤)SQL原始碼
- php中return語句的使用PHP
- java中的switch case語句Java
- MySQL中explain語句的使用MySqlAI