> 데이터 베이스 > MySQL 튜토리얼 > SQL에서 마지막으로 삽입된 행 ID를 검색하는 방법은 무엇입니까?

SQL에서 마지막으로 삽입된 행 ID를 검색하는 방법은 무엇입니까?

Barbara Streisand
풀어 주다: 2025-01-13 13:21:43
원래의
451명이 탐색했습니다.

How to Retrieve the Last Inserted Row ID in SQL?

SQL에서 가장 최근에 추가된 행의 ID에 액세스

데이터베이스 테이블에 새 데이터를 삽입한 후 자동으로 생성된 새 행의 ID를 검색해야 하는 경우가 많습니다. 이 문서에서는 임시 테이블이 필요 없이 이 ID를 가져오는 여러 가지 SQL 방법을 보여줍니다.

SCOPE_IDENTITY()

INT 또는 BIGINT 열이 ID 열로 설정된 테이블의 경우 SCOPE_IDENTITY()INSERT 문 다음의 ID를 효율적으로 검색합니다. 방법은 다음과 같습니다.

<code class="language-sql">INSERT INTO dbo.YourTable(columns....)
VALUES(..........)

SELECT SCOPE_IDENTITY()</code>
로그인 후 복사

현재 범위 내에서 가장 최근에 삽입된 ID 값을 반환합니다(중첩 트랜잭션의 영향을 받을 수 있음).

@@IDENTITY

@@IDENTITY은 마지막으로 할당된 ID 값을 보유하는 전역 변수입니다. 다음과 같이 사용하세요:

<code class="language-sql">INSERT INTO dbo.YourTable(columns....)
VALUES(..........)

SELECT @@IDENTITY</code>
로그인 후 복사

그러나 @@IDENTITY은 잠재적으로 중첩된 트랜잭션 내의 이전 삽입을 포함하여 모든 범위의 마지막 ID 값을 반영합니다. 동일한 세션에서 여러 삽입이 발생한 경우 잘못된 결과가 나타날 수 있습니다.

IDENT_CURRENT()

IDENT_CURRENT()에서는 또 다른 옵션을 제공합니다. 범위나 트랜잭션에 관계없이 특정 테이블의 ID 값을 검색합니다.

<code class="language-sql">INSERT INTO dbo.YourTable(columns....)
VALUES(..........)

SELECT IDENT_CURRENT('dbo.YourTable')</code>
로그인 후 복사

IDENT_CURRENT() 중첩된 트랜잭션 내에서 여러 삽입이 있어도 ID가 지정된 테이블에 있음을 보장합니다.

요약

데이터베이스 개발자는 마지막으로 삽입된 행 ID를 검색하는 다양한 방법을 이해해야 합니다. 테이블 구조와 작업 컨텍스트를 기반으로 올바른 방법을 선택하면 정확한 ID 검색이 보장되고 데이터 무결성이 유지됩니다.

위 내용은 SQL에서 마지막으로 삽입된 행 ID를 검색하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿