0

在我的网络应用程序上,人们可以创建我所说的案例。在后端提交时,会将其保存到 MSSQL DB 表中。在他们点击保存后,它将在数据库中创建新条目,我需要的是能够检索身份行(自动增量),这是我的主键,以便我可以将其保存在会话(PHP)中用户再次点击保存(更新)。

我的问题,我知道这是一种常见的做法,这样做的常见方式是什么,所以我正在考虑使用 SQL SCOPE_IDENTITY 但正在阅读这里的常见错误:

http://blog.sqlauthority.com/2009/03/24/sql-server-2008-scope_identity-bug-with-multi-processor-parallel-plan-and-solution/

提前致谢

4

2 回答 2

1

删除主列上的标识并创建您自己的自定义标识生成器函数

create function NextCustomerNumber() 
returns char(5) 
as 
begin 
    declare @lastval char(5) 
    set @lastval = (select max(myidentity) from mytable) 
    if @lastval is null set @lastval = 'C0001' 
    declare @i int 
    set @i = right(@lastval,4) + 1 
    return 'C' + right('000' + convert(varchar(10),@i),4) 
end
于 2012-06-14T18:46:10.270 回答
1

如果我正确理解你的问题。我认为这会有所帮助。

http://php.net/manual/en/function.mysql-insert-id.php

于 2012-06-14T18:35:19.867 回答