执行插入操作时,出现异常constraint failed[0x1555]: UNIQUE constraint failed

  意思是:sqlite 唯一约束失败

  定位于某个表字段上,该字段是表的主键。

  原因:插入的数据中该主键字段值在表中已有存在的记录。

  解决方案:重新调整插入语句中该主键字段的值,保证约束唯一性。

  在SQLite中,执行SQL语句的sqlite3_exec()和sqlite3_prepare()两个核心方法的返回值都是一个整型数据,因此,当程序执行出现错误时,我们可以根据执行返回的整型数据来判断错误发生的原因。以下就是SQLite的错误码:

 C++ Code 
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的更多相关文章

  1. sqlite3, IntegrityError: UNIQUE constraint failed when inserting a value

    sqlite报错: sqlite3.IntegrityError: UNIQUE constraint failed: IMAGESTATUE.ID 解决方案: Change INSERT to IN ...

  2. Unique constraint on single String column with GreenDao2

    转:http://software.techassistbox.com/unique-constraint-on-single-string-column-with-greendao_384521.h ...

  3. ORA-00001: unique constraint (...) violated解决方案

    ORA-00001: unique constraint (...) violated 的解决方案 今天往Oracle数据库里插入数据一条记录的时候,报错了, 控制台抛出异常:违反唯一性约定, 我以为 ...

  4. Oracle 唯一 约束(unique constraint) 与 索引(index) 关系说明

    一. 官网对Unique Constraints说明 http://download.oracle.com/docs/cd/E11882_01/server.112/e16508/datainte.h ...

  5. ORA-00001: unique constraint (...) violated并不一定是数据冲突

    原文链接:http://blog.163.com/jet_it_life/blog/static/205097083201301410303931/ 收到一位测试人员RAISE的JIRA,说在某张表上 ...

  6. Unique constraint on single String column with GreenDao

    转:http://stackoverflow.com/questions/22070281/greendao-support-for-unique-constraint-on-multiple-col ...

  7. Oracle之唯一性约束(UNIQUE Constraint)使用方法具体解释

    Oracle | PL/SQL唯一索引(Unique Constraint)使用方法 1 目标 用演示样例演示怎样创建.删除.禁用和使用唯一性约束. 2 什么是唯一性约束? 唯一性约束指表中一个字段或 ...

  8. SQL UNIQUE Constraint

    SQL UNIQUE Constraint The UNIQUE constraint uniquely identifies each record in a database table. The ...

  9. mybatis批量插入oracle时报错:unique constraint (table name) violated

    mybatis批量插入oracle时报错:unique constraint (table name) violated,是因为插入的集合中有两条相同唯一约束的数据.

随机推荐

  1. spring各种邮件发送

    参考地址一 参考地址二 参考地址三 参考地址四 Spring邮件抽象层的主要包为org.springframework.mail.它包括了发送电子邮件的主要接口MailSender,和值对象Simpl ...

  2. Discuz管理员前台正常后台登录不进如何解决

    Discuz管理员前台可以登录后台无法登录的解决方法步骤如下 1. 取消ip认证 config_global.php 中找到 $_config['admincp']['checkip'] = 0 2. ...

  3. c#中用DirectShow实现媒体播放器

    原文地址:https://www.cnblogs.com/aiqingqing/p/4338448.html 用.net做多媒体开发的似乎不多,所以网上资源也少,看的人更少.不过我的博客上居然还有几位 ...

  4. 构造矩阵解决这个问题 【nyoj299 Matrix Power Series】

    矩阵的又一个新使用方法,构造矩阵进行高速幂. 比方拿 nyoj299 Matrix Power Series 来说 给出这样一个递推式: S = A + A2 + A3 + - + Ak. 让你求s. ...

  5. 有道翻译 / 百度翻译Api

    比较推荐使用百度翻译api 不推荐有道翻译,比较水. http://ai.youdao.com/docs/doc-trans-api.s#p02 http://ai.youdao.com/docs/d ...

  6. java同一个实体的复制

    import org.springframework.beans.BeanUtils; //将mon的值复制给monitorCommission;monitorCommission是实体Monitor ...

  7. 边沿检测电路设计verilog

    Abstract 边沿检测电路(edge detection circuit)是个常用的基本电路. Introduction 所谓边沿检测就是对前一个clock状态和目前clock状态的比较,如果是由 ...

  8. Python处理文件以及文件夹常用方法

    1.创建文件并且写入 2.多行读取文件的方式 readlines() 3.一次读取全部内容 4.文件的删除 5.shutil 模块实现文件的复制 6.文件的重命名 7.获取文件的后缀名 8.pytho ...

  9. Git和Repo管理使用简要介绍

    在Linux平台下进行Android系统项目开发时,需要Git或repo管理. 一. Git和Repo的区别: 1. Git:Git是一个开源的分布式版本控制系统,用以有效.高速的处理从很小到非常大的 ...

  10. Android——手机尺寸相关的概念 +尺寸单位+关于颜色

    手机的尺寸: 屏幕对角线的长度,单位为英寸(2.54cm) 手机的分辨率: 屏幕能显示的像素的数量, 一般用在长方向上数量*宽方向上数量来表达 手机的像素密度: pixels per inch,也称P ...