今天在APP中增加一个添加项目的功能,项目的主键为整数,要让它自增长。

既然要自增长,那么在代码里面就不用给id字段赋值。但是调试的时候发现不行,提示主键重复,观察了输出,不赋值的话,id默认为0,于是每次都为0,就重复了:

Source source = new Source();

source.setName(dict.getName());//id没有赋值

SourceManager.get(this).insert(source);

ContentValues cv = new ContentValues();

System.out.println("id: " + source.getId());//输出,id每次都是0

cv.put(COLUMN_ID, source.getId());

cv.put(COLUMN_NAME, source.getName());

id没有赋值,为什么是0呢?那就是Java的默认int为0了,所以,在对象层面,就算不赋值,id也默认是0。

因此,要从数据库操作层面来解决:

//cv.put(COLUMN_ID, source.getId());

v.put(COLUMN_NAME, source.getName());

ContentValue赋值时取消对id字段的赋值即可。

问题解决,可以自增长了。

总结

Android中,让sqlite主键自增长的条件如下:

1. 数据库中,设置字段为INTEGER,Primary,Autoincrement。

2. Java代码中,ContentValue赋值时忽略主键字段。

好了,以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。

php sqlite id自增,Android sqlite设置主键自增长的方法教程相关推荐

  1. SQLServer设置主键自增长

    设置主键自增长的两种方式 1.通过图形化的的操作方法进行设置 新建的时候进行设置,右击表----新建 表建好后增加一个字段,选择需要增加的表,右击设计 设置主键 设置自增长, 标识增量标识每次自增加多 ...

  2. SQL Server 2012 设置主键自增长

    一.新建表的时候设置主键自增长 1.右击表选择[新建表],如下图: 2.在弹出的窗口中输入列名称,选择需要自增的列名称,在标识规范中是标识修改成[是],标识增量设置[1],标识种子设置[1],如下图: ...

  3. mysql设置主键自动增长

    1.不设置主键的增长起点(默认1开始) create table user(usernc varchar(10) not null,id int not null auto_increment,nam ...

  4. oracle表设置主键自增长,笔记:oracle表设置主键自增长

     orcale设置主键自动增长 随笔记得笔记 以后用到 直接到这里copy create or replace table TBL_SYS_USER ( user_id NUMBER(19) no ...

  5. MySql Workbench如何设置主键自增长

    一直以来使用的MySQL数据库客户端都是Navicat,不得不说Navicat用起来还是很方便的. 可惜它是商业收费软件,因为版权原因,公司禁止使用其PJ软件.要求全部卸载 于是乎,换用了MySQL官 ...

  6. mysql设置主键自增长,插入数据时报错,解决

    mysql设置主键自增长,插入数据时报错,解决 创建一个可以自增长的表 create table user ( sid int not null primary key auto_inrement, ...

  7. db2主键自增和oracle,DB2主键自增长设置(id自增)

    接触DB2还没有多久,最近的项目中 需要创建一个表,表的主键自增长,毕竟跟Oracle有点不一样啊! CREATE  TABLE T_RUNNING_THREAD ( IDINTEGER NOT NU ...

  8. mysql中非主键不能自增吗_mysql非主键自增长用法实例分析

    本文实例讲述了mysql非主键自增长用法.分享给大家供大家参考,具体如下: mysql并非只有主键才能自增长,而是设为键的列就可以设置自增长.   如下: CREATE TABLE t1 ( id I ...

  9. mysql用命令修改主键名_MySQL的常用命令:添加外键,修改字段名称,增加字段 设置主键自增长等...

    Mysql命令添加外键 前提是有这么几个表   以mall_product 和 mall_category为例 ALTER TABLE mall_product ADD CONSTRAINT fore ...

最新文章

  1. 子矩阵的最大累加和问题
  2. Windows事件等待学习笔记(一)—— 临界区自旋锁
  3. Linux后台运行打包Jar的方法
  4. 使用什么优化器_在机器学习项目中该如何选择优化器?
  5. SUSE,为企业云原生打造多模平台
  6. MyBatis-Plus_查询返回实体对象还是map?
  7. 基于注意力机制的seq2seq网络
  8. 任务七:实现常见的技术产品官网的页面架构及样式布局
  9. gridview中的种种超级链接
  10. 未定义函数或变量 'wavplay'。原因:2014a已经移除函数
  11. PostgreSQL数据库的安装与配置
  12. No plugin found for prefix 'mybatis-generator' in the current project ORA-28040: No matching authen
  13. win10专业版开机画面模糊_为什么win10有些软件显示模糊_win10软件界面模糊的解决办法...
  14. SuperMap 三维模型数据制作
  15. 微信小程序开发者工具运行不了
  16. c#创建画布_WinForm GDI编程:Graphics画布类
  17. iis 10 配置 URL重写不生效
  18. 警惕邮件中的发票链接
  19. 华芯通服务器芯片将于今年年底前上市
  20. 2023年股票开户哪家手续费最低?融资融券利息率最低多少?万1融5!支持量化交易的券商

热门文章

  1. freemark循环map_freemarker中循环map根据key值得value 报错
  2. python eval函数格式_Python函数中eval函数知识点
  3. nmap地址段下的ip_安服福音——花式nmap扫描整理结果(文末重磅消息)
  4. halcon 将数据保存到excel_pandas筛选、合并、批量保存excel数据
  5. JavaSE——常用类库(下)(Date、DateFormat、Calendar、System类)
  6. linux捕捉信号sigint失败,为shell布置陷阱:trap捕捉信号方法论
  7. C++学习之路 | PTA乙级—— 1030 完美数列 (25 分)(精简)
  8. 排除jar_Gradle排除依赖关系
  9. 番茄钟怎么调_学习神器-番茄钟
  10. 基于java的rsa加密程序_RSA rsa加密程序,rsa java源码和 rsa的jsp Crypt_De algrithms 解密 238万源代码下载- www.pudn.com...