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错误。

最新文章

  1. 计算机●编程语言●JAVA
  2. js +1的动画效果
  3. (LinkedList)Intersection of Two Linked Lists
  4. Nginx HA 及https配置部署
  5. thinkphp接手机网站接口
  6. ABBYY应用到的行业有哪些
  7. GridViewWIthSubActivityDemo
  8. grappelli美化django的admin页面
  9. PyQt4环境搭建与使用
  10. SQL类型转换以及自动在前面补0满足10位工号标示法
  11. CreateEvent、SetEvent、ResetEvent和WaitForSingleObject
  12. JSSDK微信自定义分享
  13. [js高手之路]深入浅出webpack教程系列9-打包图片(file-loader)用法
  14. c# 图解泛型List<T>, HashTable和Dictionary<TKey,TValue>
  15. vue + hbuilder 开发备忘录
  16. Java IO编程全解(四)——NIO编程
  17. 如何将备份的oracle数据库还原到指定用户下。
  18. 赚钱的小生意,VC对你没兴趣
  19. 老男孩linux实训学生入学资格考试题(技术部分)
  20. oracle11gR2 win7_32位客户端连接虚拟机中oracle11gR2 win7_32位服务器方法

热门文章

  1. MapReduce进行数据查询和实现推简单荐系统
  2. The DOM in JavaScript
  3. oracle 11g 版本自带移除,省时省力
  4. HDU 5739 Fantasia 双连通分量 树形DP
  5. python如何合并两个字典
  6. 记一次开发过程中,iview遇到的一些坑以及解决办法
  7. MVC6学习教程
  8. html调用commonjs规范的js
  9. 【Restore IP Addresses 】cpp
  10. apizza导出为html后,从中提取api_name/api_path/api_method,保存到本地,方便根据接口名称得到接口路径与请求方法