Sqlite - constraint failed[0x1555]: UNIQUE constraint failed
执行插入操作时,出现异常constraint failed[0x1555]: UNIQUE constraint failed
意思是:sqlite 唯一约束失败
定位于某个表字段上,该字段是表的主键。
原因:插入的数据中该主键字段值在表中已有存在的记录。
解决方案:重新调整插入语句中该主键字段的值,保证约束唯一性。
在SQLite中,执行SQL语句的sqlite3_exec()和sqlite3_prepare()两个核心方法的返回值都是一个整型数据,因此,当程序执行出现错误时,我们可以根据执行返回的整型数据来判断错误发生的原因。以下就是SQLite的错误码:
1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
/* 成功 | Successful result */
/* SQL错误 或 丢失数据库 | SQL error or missing database */ /* SQLite 内部逻辑错误 | Internal logic error in SQLite */ /* 拒绝访问 | Access permission denied */ /* 回调函数请求取消操作 | Callback routine requested an abort */ /* 数据库文件被锁定 | The database file is locked */ /* 数据库中的一个表被锁定 | A table in the database is locked */ /* 某次 malloc() 函数调用失败 | A malloc() failed */ /* 尝试写入一个只读数据库 | Attempt to write a readonly database */ /* 操作被 sqlite3_interupt() 函数中断 | Operation terminated by ite3_interrupt() */ /* 发生某些磁盘 I/O 错误 | Some kind of disk I/O error occurred */ /* 数据库磁盘映像不正确 | The database disk image is malformed */ /* sqlite3_file_control() 中出现未知操作数 | Unknown opcode in ite3_file_control() */ /* 因为数据库满导致插入失败 | Insertion failed because database is full */ /* 无法打开数据库文件 | Unable to open the database file */ /* 数据库锁定协议错误 | Database lock protocol error */ /* 数据库为空 | Database is empty */ /* 数据结构发生改变 | The database schema changed */ /* 字符串或二进制数据超过大小限制 | String or BLOB exceeds size limit */ /* 由于约束违例而取消 | Abort due to constraint violation */ /* 数据类型不匹配 | Data type mismatch */ /* 不正确的库使用 | Library used incorrectly */ /* 使用了操作系统不支持的功能 | Uses OS features not supported on host */ /* 授权失败 | Authorization denied */ /* 附加数据库格式错误 | Auxiliary database format error */ /* 传递给sqlite3_bind()的第二个参数超出范围 | 2nd parameter to sqlite3_bind out of range */ /* 被打开的文件不是一个数据库文件 | File opened that is not a database file */ /* sqlite3_step() 已经产生一个行结果 | sqlite3_step() has another row ready */ /* sqlite3_step() 完成执行操作 | sqlite3_step() has finished executing */ |
Sqlite - constraint failed[0x1555]: UNIQUE constraint failed的更多相关文章
- sqlite3, IntegrityError: UNIQUE constraint failed when inserting a value
sqlite报错: sqlite3.IntegrityError: UNIQUE constraint failed: IMAGESTATUE.ID 解决方案: Change INSERT to IN ...
- Unique constraint on single String column with GreenDao2
转:http://software.techassistbox.com/unique-constraint-on-single-string-column-with-greendao_384521.h ...
- ORA-00001: unique constraint (...) violated解决方案
ORA-00001: unique constraint (...) violated 的解决方案 今天往Oracle数据库里插入数据一条记录的时候,报错了, 控制台抛出异常:违反唯一性约定, 我以为 ...
- Oracle 唯一 约束(unique constraint) 与 索引(index) 关系说明
一. 官网对Unique Constraints说明 http://download.oracle.com/docs/cd/E11882_01/server.112/e16508/datainte.h ...
- ORA-00001: unique constraint (...) violated并不一定是数据冲突
原文链接:http://blog.163.com/jet_it_life/blog/static/205097083201301410303931/ 收到一位测试人员RAISE的JIRA,说在某张表上 ...
- Unique constraint on single String column with GreenDao
转:http://stackoverflow.com/questions/22070281/greendao-support-for-unique-constraint-on-multiple-col ...
- Oracle之唯一性约束(UNIQUE Constraint)使用方法具体解释
Oracle | PL/SQL唯一索引(Unique Constraint)使用方法 1 目标 用演示样例演示怎样创建.删除.禁用和使用唯一性约束. 2 什么是唯一性约束? 唯一性约束指表中一个字段或 ...
- SQL UNIQUE Constraint
SQL UNIQUE Constraint The UNIQUE constraint uniquely identifies each record in a database table. The ...
- mybatis批量插入oracle时报错:unique constraint (table name) violated
mybatis批量插入oracle时报错:unique constraint (table name) violated,是因为插入的集合中有两条相同唯一约束的数据.
随机推荐
- 〖C语言〗C语言一个函数传递无限制多参数(不确定参数函数)的方法
/* * ===================================================================================== * * Filen ...
- 【Linux】df命令
用途 df命令主要用于检查Linux服务器的文件系统的磁盘空间占用情况 全称 df的全称为:Disk Free 参数 -a :全部文件系统列表 -h :方便阅读显示 -H :等于"-h&qu ...
- linux shell 总结
.#!指定执行脚本的shell 如果不写的话,用系统默认的shell s shell是所有linux ,unix都支持的 .#开始的行表示注释(不限于行首) 命令建议写绝对路径 执行: ./examp ...
- Centos网络时好时超时问题解决
近期公司使用的Centos突然出现网络不稳定现象,有公网,内部可以PING通外网,但是外部PING这个IP时,经常丢包现象,而且一丢包就是连续性的长达七八次,甚至十几次. 这个问题折腾了很长时间,因为 ...
- Locust分布式负载测试工具入门
忽略元数据末尾 回到原数据开始处 Locust简介 Locust是一个简单易用的分布式负载测试工具,主要用来对网站进行负载压力测试. 以下是github上的仓库地址 https://github.co ...
- Mongodb与mysql语法比较
Mongodb与mysql语法比较 mongodb与mysql命令对比 传统的关系数据库一般由数据库(database).表(table).记录(record)三个层次概念组成,MongoDB是由 ...
- ubuntu16.04字体设置
我在ubuntu下主要有2个应用,一个是终端,一个是firefox浏览器 1.在终端下,我喜欢“Courier 10 pitch regular”,字号是14.Courier是一种专门为程序员设计的字 ...
- docker容器跑tomcat遇到的坑
使用docker容器跑tomcat,由于同一个宿主机上跑了多个容器,再加上宿主机本身跑了很多进程,导致系统总的进程数达到了8000+,而容器中tomcat的启动脚本中会调用自带的setenv.sh,在 ...
- 【C语言】21-结构体
C语言的核心部分都说得七七八八了,相信大家已经对C语言的基本数据类型(char\int\float).数组.指针都很熟悉了,今天来学习C语言中另外一种数据类型:结构体.在iOS开发中,结构体是经常用到 ...
- JDK默认使用的垃圾回收器
查看方法java -XX:+PrintCommandLineFlags -version 引用<深入理解Java虚拟机:JVM高级特性与最佳实践>的介绍: 所以,jdk8环境下,默认使用 ...