开发者社区> 问答> 正文

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

什么是mySQL 中SQLServer函数SCOPE_IDENTITY()的等效项?

展开
收起
保持可爱mmm 2020-05-17 12:18:40 642 0
1 条回答
写回答
取消 提交回答
  • 这是您要寻找的:

    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()答案中显示的结果是错误的,尽管最后的结论是正确的。我已将结果更新为正确的值。来源:stack overflow

    2020-05-17 12:31:40
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
搭建电商项目架构连接MySQL 立即下载
搭建4层电商项目架构,实战连接MySQL 立即下载
PolarDB MySQL引擎重磅功能及产品能力盛大发布 立即下载

相关镜像