避免重复插入数据
来源:互联网 发布:模拟贵金属交易软件 编辑:程序博客网 时间:2024/05/11 18:29
sqlite避免重复插入数据。
用insert语句插入数据,为避免重复插入又不打断数据处理。
首先要避免重复插入,就必须在插入时引发冲突。在表中设置了id字段,该字段为UNIQUE属性,当插入的id已存在时引发冲突。
引发冲突后insert会做一些处理,处理方式由OR字句定义。包含如下:
- ROLLBACK
当发生约束冲突,立即ROLLBACK,即结束当前事务处理,命令中止并返回SQLITE_CONSTRAINT代码。若当前无活动事务(除了每一条命令创建的默认事务以外),则该算法与ABORT相同。
- ABORT
当发生约束冲突,命令收回已经引起的改变并中止返回SQLITE_CONSTRAINT。但由于不执行ROLLBACK,所以前面的命令产生的改变将予以保留。缺省采用这一行为。
- FAIL
当发生约束冲突,命令中止返回SQLITE_CONSTRAINT。但遇到冲突之前的所有改变将被保留。例如,若一条UPDATE语句在100行遇到冲突100th,前99行的改变将被保留,而对100行或以后的改变将不会发生。
- IGNORE
当发生约束冲突,发生冲突的行将不会被插入或改变。但命令将照常执行。在冲突行之前或之后的行将被正常的插入和改变,且不返回错误信息。
- REPLACE
当发生UNIQUE约束冲突,先存在的,导致冲突的行在更改或插入发生冲突的行之前被删除。这样,更改和插入总是被执行。命令照常执行且不返回错误信息。当发生NOT NULL约束冲突,导致冲突的NULL值会被字段缺省值取代。若字段无缺省值,执行ABORT算法
为避免操作打断,我选择了IGNORE。最后完整的用法如下:
INSERT OR IGNORE INTO troopstypes (id)values(2);
- 避免重复插入数据
- oracle 避免重复插入数据
- mysql 避免重复插入数据
- sqlite避免重复插入数据
- mysql 插入数据避免重复的手段
- sql插入数据时,避免插入重复数据
- SQL 避免重复插入
- MYSQL避免重复插入
- 数据库并发插入避免重复数据的问题
- sqlite避免重复插入数据以及插入同时又可更新已有的数据
- MySQL批量插入遇上唯一索引避免方法(避免导入重复数据)
- MySql避免重复插入记录
- MySql避免重复插入记录
- MySql避免重复插入记录
- MySql避免重复插入记录
- MySql避免重复插入记录
- mysql避免插入重复记录
- MySql避免重复插入记录
- wireshark使用
- Android系统2D/3D硬件加速分析报告
- SQL Server触发器创建、删除、修改、查看示例教程
- 令人惊叹的20张世界公益宣传画(转载)
- 访问页面直接生成静态页面,简单代码
- 避免重复插入数据
- asp.net页面注册JS脚本
- does not implement the NamespaceHandler interface
- 如何赚钱,这里有绝招
- ibatis批量操作
- 字符无效,是引号的问题
- ipad软件推荐二
- 数字、浮点、布尔型、字符串和数组(php教程一)
- function字符串变量拼接