programing

mySQL에서 SQL Server 함수 SCOPE_IDENTITY()의 등가?

codeshow 2023. 9. 19. 21:32
반응형

mySQL에서 SQL Server 함수 SCOPE_IDENTITY()의 등가?

mySQL에서 SQL Server 함수 SCOPE_IDENTITY()와 동등한 것은 무엇입니까?

이것이 바로 당신이 찾고 있는 것입니다.

LAST_INSERT_ID()

OP의 의견에 따라 다음과 같은 벤치 테스트를 만들었습니다.

CREATE TABLE Foo
(
    FooId INT AUTO_INCREMENT PRIMARY KEY
);

CREATE TABLE Bar
(
    BarId INT AUTO_INCREMENT PRIMARY KEY
);

INSERT INTO Bar () VALUES ();
INSERT INTO Bar () VALUES ();
INSERT INTO Bar () VALUES ();
INSERT INTO Bar () VALUES ();
INSERT INTO Bar () VALUES ();

CREATE TRIGGER FooTrigger AFTER INSERT ON Foo
    FOR EACH ROW BEGIN
        INSERT INTO Bar () VALUES ();
    END;

INSERT INTO Foo () VALUES (); SELECT LAST_INSERT_ID();

다음을 반환합니다.

+------------------+
| LAST_INSERT_ID() |
+------------------+
|                1 |
+------------------+

그래서 사용하는 것을 사용합니다.LAST_INSERT_ID()원탁이 아닌 원탁의INSERT방아쇠 안으로 들어갔습니다

편집: 나는 이 시간이 지난 후에 그 결과를 깨달았습니다.SELECT LAST_INSERT_ID()내 대답에서 보여준 결론은 틀렸지만, 마지막에 나온 결론은 옳았습니다.결과를 정확한 값으로 업데이트 했습니다.

MySql 명령 유형 열기SELECT LAST_INSERT_ID();그러면 ENTER

CREATE TABLE Identity_Temp
(
    Id INT AUTO_INCREMENT PRIMARY KEY,
    Name varchar(200)
);

INSERT INTO Identity_Temp (Name) VALUES ('A');
INSERT INTO Identity_Temp (Name) VALUES ('A');

SELECT LAST_INSERT_ID();

DROP TABLE Identity_Temp;

LAST_INSERT_ID()를 사용하여 마지막으로 삽입된 ID 값을 얻을 수 있으며 테이블 삽입 시에도 사용할 수 있습니다.

언급URL : https://stackoverflow.com/questions/560783/the-equivalent-of-sqlserver-function-scope-identity-in-mysql

반응형