如果得到Sql数据库中自增加字段的新值

发布时间:2024-05-18 10:06 发布:上海旅游网

问题描述:

Sql数据库中有一个表,表中有一个自增字段

有个问题,如果增加了几条记录,然后再把这几条记录删除,下次再增加时,这个自增字段的数值是跳过了那几条已经被删除的字段了的。

这样的话,我在程序中想要写新记录时,根本不知道要写入的这条记录分配得到的自增字段的值是多少,而程序又要有一些操作需要提前得到这个值。

请问有什么方法吧?

在写记录前就可以得到这个自增字段的值了

问题解答:

一种是不用自增字段,自已每次取最大值加一,作为编号
一种是先增加一条空记录,得到值后,再更新这条记录
一种是采用前台程序的记录集,addnew 或 append 后,直接取 id 字段的值

用@@IDENTITY 语法可以得到新增记录的ID,以下为例子,试试看
<%sql="insert into tb_Dept (deptname,level,shangji) values('"&request("deptname")&"',"&rsj("level")+1&",'"&request("rootid")&"')"
conn.execute(sql)
'获取id
set rsa=server.CreateObject("adodb.recordset")
sqla="Select @@IDENTITY as id"
rsa.Open sqla,conn,1,3
id=rsa("id")
%>

热点新闻