开发者社区> 问答> 正文

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

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

展开
收起
保持可爱mmm 2020-05-17 12:18:40 647 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
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
One Box: 解读事务与分析一体化数据库 HybridDB for MySQL 立即下载
One Box:解读事务与分析一体化数据库HybridDB for MySQL 立即下载
如何支撑HTAP场景-HybridDB for MySQL系统架构和技术演进 立即下载

相关镜像