ホームページ > データベース > mysql チュートリアル > SQL の INSERT ステートメントの後に ID 値を取得するにはどうすればよいですか?

SQL の INSERT ステートメントの後に ID 値を取得するにはどうすればよいですか?

Linda Hamilton
リリース: 2025-01-17 12:31:12
オリジナル
470 人が閲覧しました

How Can I Retrieve the Identity Value After an INSERT Statement in SQL?

SQL INSERT ステートメントの後に新しく生成された ID 値を取得する

多くの場合、自動インクリメント ID 列を含む SQL テーブルにデータを挿入した後、新しく生成された ID にアクセスする必要があります。 OUTPUT 句は、これを実現する便利な方法を提供します。

このガイドでは、OUTPUT 句を使用して ID 値を取得する 2 つの一般的な方法を説明します。

方法 1: コンソールに出力します (その後、アプリケーションに出力します)

最も単純な方法は、ID 値をコンソールに直接出力します。 これは、単一の挿入を処理したり、アプリケーション コードで ID を取得したりするときに便利です:

<code class="language-sql">INSERT INTO MyTable (Name, Address, PhoneNo)
OUTPUT INSERTED.ID
VALUES ('Yatrix', '1234 Address Stuff', '1112223333');</code>
ログイン後にコピー

アプリケーション コード (例: ADO.NET の ExecuteScalar() を使用) は、この単一の出力値をキャプチャできます。

方法 2: テーブル変数への出力 (複数の挿入またはさらなる処理用)

複数の挿入の場合、または T-SQL コード内で生成された ID を処理する必要がある場合は、OUTPUT 句のターゲットとしてテーブル変数を使用します。

<code class="language-sql">DECLARE @OutputTbl TABLE (ID INT);

INSERT INTO MyTable (Name, Address, PhoneNo)
OUTPUT INSERTED.ID INTO @OutputTbl (ID)
VALUES ('Yatrix', '1234 Address Stuff', '1112223333');

-- Now you can access the ID(s) from @OutputTbl
SELECT ID FROM @OutputTbl;</code>
ログイン後にコピー

この方法を使用すると、ストアド プロシージャまたは T-SQL スクリプト内で直接、挿入された複数の ID を操作できます。 一時テーブル (#temp) または永続テーブルを出力ターゲットとして使用することもできます。

以上がSQL の INSERT ステートメントの後に ID 値を取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート