删去数据之后,怎么自动使ID继续保持连续性的? 就比喻这样:id name 1 张三 2 李四 3 王五 4 陈六就是如果我删去id为3的时候,就应该变成:id name 1 张三 2 李四 3 陈六有木有简便的方法实现?数据 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 备份数据->TRUNCATE 表->导入数据 我里面的那个ID本来就是自增的字段的其实我这样做,是为了防止数据溢出的数据库里面的数据不会超过30条的,但是会有这种的情况出现:如果数据没有修改过的话,总数是20条,那么ID,最大就是id = 20;但是当用户删去里面的一条数据的话,那么总数就是19条,但是ID还是id = 20了,当用户添加数据的时候,总数再次是20,但id = 21了如此循环的话,那么id会无限增大,而总数有可能还是20.。。所以我怕到时候,数据库里面的数据会出问题有其它方法解救吗?? 我里面的那个ID本来就是自增的字段的其实我这样做,是为了防止数据溢出的数据库里面的数据不会超过30条的,但是会有这种的情况出现:如果数据没有修改过的话,总数是20条,那么ID,最大就是id = 20;但是当用户删去里面的一条数据的话,那么总数就是19条,但是ID还是id = 20了,当用户添加数据的时候,总数再次是20,但id = 21了如此循环的话,那么id会无限增大,而总数有可能还是20.。。所以我怕到时候,数据库里面的数据会出问题有其它方法解救吗??先预估下你啥时候能用完 bigint unsigned 吧 bigint作为id可以表示-9223372036854775808到+9223372036854775807的整数 你觉得你有必要担心么~~~ 你可以把ID改为自增长的,取消id为主键。那么你每次删除的一条后,再次增加ID就会顺序增加的!当然这样子不会变成你说的 删掉了第三条,第四条的id变成第三条的id但是这样子会让你你里面有二十条数据的时候,id最大的就是20 你这句话提醒了我,我可以这样做,用String sql = "select * from table_name";Cursor cursor = sqliteDatabase.rawQuery(sql, null);先从数据库获得到这些所有的数据,然后一个循环赋值,用一个i++来判断ID,是否连续,如果不连续的话,就修改id,让它等于i,id = i;谢谢版主。其他人的思路很不错,让我很受益,但是我这个项目用版主这个方法,是最好的,谢谢各位 我觉得 只有有bug的 话,都还是担担心吧,毕竟一个项目,毕竟是为客户而做的 请问各位高手:MySQL 5.0版下的数据库能否导入到5.5版中 hex()返回不同的值,是编码设置的原因? 小于某个数的降序sql怎么写? 谁能告诉我这句话什么意思? 关于SQL性能优化,求助!!! 各位好!我要找一个MYSQL 的客户端进行备份服务器上的数据,那个MYSQL 的确良客户端好用一些呀?? 数据表的拆分???? 麻烦大家帮我看看哪种设计更合理 MYSQL初用者来送分了,关于JDBC与MYSQL的连接问题 请问斑主:用MYSQL 作C/S系统是否是一个好的选择?与SQL 相比? Mysql8.0,如何根据json(数组)里的字段排序 mysql外键设置 MySQL问题
其实我这样做,是为了防止数据溢出的
数据库里面的数据不会超过30条的,但是会有这种的情况出现:
如果数据没有修改过的话,总数是20条,
那么ID,最大就是id = 20;
但是当用户删去里面的一条数据的话,
那么总数就是19条,但是ID还是id = 20了,
当用户添加数据的时候,总数再次是20,但id = 21了如此循环的话,那么id会无限增大,而总数有可能还是20.。。
所以我怕到时候,数据库
里面的数据会出问题
有其它方法解救吗??
其实我这样做,是为了防止数据溢出的
数据库里面的数据不会超过30条的,但是会有这种的情况出现:
如果数据没有修改过的话,总数是20条,
那么ID,最大就是id = 20;
但是当用户删去里面的一条数据的话,
那么总数就是19条,但是ID还是id = 20了,
当用户添加数据的时候,总数再次是20,但id = 21了如此循环的话,那么id会无限增大,而总数有可能还是20.。。
所以我怕到时候,数据库
里面的数据会出问题
有其它方法解救吗??
先预估下你啥时候能用完 bigint unsigned 吧
那么你每次删除的一条后,再次增加ID就会顺序增加的!
当然这样子不会变成你说的 删掉了第三条,第四条的id变成第三条的id
但是这样子会让你你里面有二十条数据的时候,id最大的就是20
我可以这样做,用
String sql = "select * from table_name";
Cursor cursor = sqliteDatabase.rawQuery(sql, null);
先从数据库获得到这些所有的数据,然后一个循环赋值,用一个i++来判断ID,是否连续,
如果不连续的话,就修改id,让它等于i,id = i;谢谢版主。
其他人的思路很不错,让我很受益,但是我这个项目用版主这个方法,是最好的,谢谢各位