在数据库中如何设置ID号自动加1的,不要用自动编号。

如题所述

一种较简单的,直接获取你数据库中的最后一个ID号,在程序里自己写方法传入这个ID号,处理后返回出一个+1的ID号!这个就是新ID,不过这个方法是不会自动补漏,可能你会删除掉一个004,记录还存在003和005,而新ID就会是006!另外一种就是在数据库中取出ID整列值,并对值进行一个循环比较,下一列是否比上一列的值大1,不是证明有漏,可取该值为新ID号,如果判断到最后没漏,也是直接在最后的值+1为最新ID值
希望对你有帮助
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-11-26
如果在数据库中做是要做触发器,大意是删除a表记录时,触发器同时删除b表中的相应记录,当然,涉及字段的修改也一样。

一般情况下,除非是你自己做的项目,很少会用到触发器,因为在多人合作开发时不好控制

所以,常用的还是事务,把两个或多个表的相关操作放在同一个事务中,要不都执行成功,要不就全执行失败。

a表和b表既然有关联,那么就不应该存在相同的字段,如你说的那个时间,放在一个表里不就行了,查询的时候多表关联取出来
第2个回答  2010-11-25
如果不用自动编号
1 可以用sequence,步长为1
2 insert前取得id最大值,然后加1
第3个回答  2010-11-25
insert into 表名(id) values(select max(id)+1 as id from 表名)
第4个回答  2010-11-25
sqlserver的话,字段设计时就可以实现。oracle的话,需要序列和触发器配合使用。当插入一条语句时,去序列的下一个值。
相似回答