执行插入操作时,出现异常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. eclipse maven Cannot change version of project facet Dynamic web module to 3.0

      eclipse maven Cannot change version of project facet Dynamic web module to 3.0 (eclipse 修改maven项目的 ...

  2. MPEG-4 压缩编码标准

    文章转自:http://www.cnblogs.com/CoderTian/p/8477021.html 1.MPEG-4标准概述 与MPEG1和MPEG2标准相比,MPEG-4 更加注重多媒体系统的 ...

  3. Axure 蚂蚁设计团队组件库 让交互稿美美"搭"

    Github资源:https://github.com/ant-design/ant-design-pro English | 简体中文 技术实践篇 https://pro.ant.design/do ...

  4. Python title() 方法

    描述 Python title() 方法返回"标题化"的字符串,就是说所有单词都是以大写开始,其余字母均为小写. 语法 title() 方法语法: S.title() 参数 无. ...

  5. [转]Oracle 10g如何对用户姓名,按首字母排序、查询

    首先介绍Oracle 9i新增加的一个系统自带的排序函数  1.按首字母排序  在oracle9i中新增了按照拼音.部首.笔画排序功能.设置NLS_SORT值      SCHINESE_RADICA ...

  6. jQuery事件:bind、delegate、on的区别

    最近在AngularJS的开发中,遇到一个神奇的事情:我们用到livebox来预览评论列表中的图片, 然而评论列表是由Angular Resource动态载入的.不可思议的是,点击这些动态载入的图片仍 ...

  7. Windows剪贴板操作简单小例

    1.复制文字到剪贴板 CString strText = L"须要拷贝到剪贴板的文字"; if ( ::OpenClipboard(m_hWnd) ) { if ( ::Empty ...

  8. 封装locaostorage

    const ls = localStorage export default { setItem(name, value) { ls.setItem(name, JSON.stringify(valu ...

  9. js eval深入

    在JS中将JSON的字符串解析成JSON数据格式,一般有两种方式: 1.一种为使用eval()函数. 2. 使用Function对象来进行返回解析. 使用eval函数来解析,并且使用jquery的ea ...

  10. c#省市联动(sqlHelper的应用)

    sqlHelper: using System; using System.Collections.Generic; using System.Linq; using System.Text; usi ...