等价于MySQL中的SQLServer函数SCOPE_IDENTITY()?

什么是mySQL 中SQLServer函数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中的SQLServer函数SCOPE_IDENTITY()? 的全部内容, 来源链接: utcz.com/qa/424630.html

回到顶部