通过ContentProvider往数据中出入了三条数据,id为自增,删除掉第二条数据后,id成1,3,怎样让3变成2? 通过ContentProvider往数据中出入了三条数据,id为自增,删除掉第二条数据后,id成1,3,怎样让3变成2? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你为什么要让它变成2呢? id设置为自增之后, 删除其中一条ID,其他ID是不会改变的。按你的设想,如果有100000条记录 ,如果你删除第一条记录,那么后面的99999条的ID都要依次减一,这样的数据库效率能好么?你想要实现什么效果?一定有其他方法可以解决 如果通过contentprovider往数据库中插入了三条数据,然后用户删除了一条,之后他如果需要调用id= 2的数据的不就为空吗? 如果要换的话看看你存放数据库的文件data/data/xx.xx/databases里面是不是有个sequence表,它是用来生成表ID的,去修该那张表就可以。不过我觉得真的没必要这么做 你说的很对,但是你让它id=3 的减一,去替代ID=2的数据,这是不是掩耳盗铃了呢? 如果只有3条记录,这是你想调用id=3的数据,不是也会为空吗?所以: 你在查询数据库的时候不应该用id 来查询,你应该查询其他值来得到你想要的结果。id是由android 帮你管理的,所以你不能依赖于它,你应该依赖于你自己创建的字段。 HTC手机接受不到很多broadcast吗? 如何取消AsyncTask正在执行的进程 SimpleCursorAdapter中setViewImage的参数问题 如何让预置进系统的apk在运行后其进程能不被杀死 android out of memory for surface android如何在一个activity上显示两个画面? 请问一个关于setContentView的问题 添加桌面快捷方式 为什么在代码中控制UI界面 出现这样 的问题 Android-高德地图 在mark上实现水波纹效果 android 定位调用问题 屏幕解锁后运行程序
按你的设想,如果有100000条记录 ,如果你删除第一条记录,那么后面的99999条的ID都要依次减一,这样的数据库效率能好么?你想要实现什么效果?一定有其他方法可以解决
你说的很对,但是你让它id=3 的减一,去替代ID=2的数据,这是不是掩耳盗铃了呢? 如果只有3条记录,这是你想调用id=3的数据,不是也会为空吗?所以: 你在查询数据库的时候不应该用id 来查询,你应该查询其他值来得到你想要的结果。id是由android 帮你管理的,所以你不能依赖于它,你应该依赖于你自己创建的字段。