一个MySQL查询问题!! select id from (select id,rownum aa from test ) p where p.id!=p.aa;其中Test为表名,id是编号字段,这样能找到第一个不连续的编号,但不能找出后面的,另外如果你的编号字段不是从1开始的话就要作点处理.有问题再问 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 谢谢你们 主要我想得到数据库中还没有用过的编号号码? 用rockhard(探索中...)你的方法基本是可以实现我要的了。不过我这人有点贪心,还有吗? MySQL said: You have an error in your SQL syntax near 'select id,rownum aa from user ) p where p.id!=p.aa' at line 1提示错误!!!我写的内容:select id from (select id,rownum aa from user ) p where p.id!=p.aa kingcaiyao(AKing) 你的方法我想过,也用过了.当数据库一大就太慢了. 再其它的办法我看要编程比较好实现,用一变量记录前面的ID号,再跟当前的比较,如果不是小于1的话,那就可以输出现在的ID号. 忘了说了,我在Oracle下调试的,我没有MYSQL 探索中:请注意,MYSQL与别的数据库不同,到目前为止还不支持子查询! 关于这个数字资源回收的问题是比较常见的,但是最好针对具体的问题——除非你的数据增加非常快,删除极频繁,其实可以用一个比较大的整数型(比如int(11)),为什么非得限定1-10,000呢? 一般系统都不会设计超过10年(37,000天)的使用期。假设使用9位整数(MAX:999,999,999)作为ID,则大概每天可以获得27027个ID,你的数据量有这么大吗?其实这不是一个单纯的问题,还涉及到表格分割等大数据量处理(我也不懂了:) 各位,还有一个办法,那就是1.在数据库中创建一个表,此表我设计成三个字段:编号,使用状态,备注。2.在系统启动时,对整个表来一次检索对未使用的ID号将其存入到该表中。3.在你每次删除或更新以及凡是涉及到编号更改的地方,另开辟一线程用于将其ID号写到数据表(当然如果表中已有些编号,你只需设置其使用状态),并将其状态置成未用状态。4.当你新添加一记时首先到该表中查找,判断它的使用状态,如果找到一个未使用的就选择它,并将它的使用状态置为使用状态.大家认为如何呢? mysql不是一个好东西,它不支持嵌套的sql查询,只有用in 或 not in 来代替嵌套查询 kingcaiyao(AKing)你的方法可行,但我这次是不能用了。谢了。 mysql怎么定义外键 对于大表查询时间范围的一点疑问 关于存储过程返回日期型的问题。 用c写mysql接口函数 mysql修改密码后的问题 请问MySql 可以处理8千万条以上的记录吗, 速度有没SQL2000快? 急问:怎样用mysql数据库的query browser加入一个外键值啊 mysql数据恢复(innodb)特急!!!! mysql3.23升级到4.0.15a的问题 我导出的sql文件问什么突然增大了 请问哪里有MYSQL的DRIVER? 求程序:怎么得到mysql中某个库或表中数据大小
主要我想得到数据库中还没有用过的编号号码?
用rockhard(探索中...)你的方法基本是可以实现我要的了。不过我这人有点贪心,还有吗?
提示错误!!!
我写的内容:
select id from (select id,rownum aa from user ) p where p.id!=p.aa
其实这不是一个单纯的问题,还涉及到表格分割等大数据量处理(我也不懂了:)
1.在数据库中创建一个表,此表我设计成三个字段:编号,使用状态,备注。
2.在系统启动时,对整个表来一次检索对未使用的ID号将其存入到该表中。
3.在你每次删除或更新以及凡是涉及到编号更改的地方,另开辟一线程用于将其ID号写到数据表(当然如果表中已有些编号,你只需设置其使用状态),并将其状态置成未用状态。
4.当你新添加一记时首先到该表中查找,判断它的使用状态,如果找到一个未使用的就选择它,并将它的使用状态置为使用状态.
大家认为如何呢?
你的方法可行,但我这次是不能用了。谢了。