0

私のWebアプリでは、人々は私がケースと呼ぶものを作成することができます。バックエンド側では、送信時にMSSQLDBテーブルに保存します。保存を押すと、DBに新しいエントリが作成されます。必要なのは、主キーであるIdenity行(自動増分)を取得して、セッション(PHP)に保存できるようにすることです。ユーザーはもう一度保存(更新)を押します。

私の質問ですが、これは一般的な方法です。そのための一般的な方法は何ですか。SQLSCOPE_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

プライマリ列のIDを削除し、独自のカスタムIDジェネレーター関数を作成します。

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 に答える