ソフトウェア開発者の日常

こだわりなく書きたいことを書いていきます。

SQL Server:データを挿入した後の、自動でカウントアップされた値の取得方法

以前出来ていたと記憶している方法とは違う方法で出来ました。
f:id:AJYA:20140602053633j:plain

記憶していた方法

PHPSQL Serverのテーブルにデータを挿入して、自動でカウントアップされるカラムの、カウントアップされた値を取得する方法は、

INSERT INTO table1(column1) VALUES ('abc');
SELECT SCOPE_IDENTITY() AS id;

と記憶していて、その通りに記述したら正常に値が取得できませんでした。


調べた方法

他の方法があるのかと思い調べたら、

INSERT INTO table1(column1) OUTPUT INSERTED.id VALUES ('abc');

と記述したら、正常に動作しました。


記憶していた方法は、PHP 4.4時代のことなので、PHPのバージョンやSQL Serverへの接続するドライバが違います。
そのあたりが影響しているのかもしれません。