首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >mysql在触发器中获取last_insert_id()

mysql在触发器中获取last_insert_id()
EN

Stack Overflow用户
提问于 2011-06-28 05:54:40
回答 1查看 17.7K关注 0票数 13

我的理解是,当您调用last_insert_id()时,它使用connections,所以您将在调用last_insert_id()的同一连接上插入最后一行的id,对吗?

那么,如果我在“AFTER INSERT”触发器中调用last_insert_id()会怎么样呢?

我想做的基本上是这样的

代码语言:javascript
复制
DELIMITER $$
CREATE TRIGGER sometrigger
AFTER INSERT ON sometable
BEGIN
  INSERT INTO anothertable (id, lastup) VALUES (last_insert_id(), NOW());
END $$

非常重要的一点是,'anothertable‘中的id与'sometable’中的id相同。这是否有效,或者我是否应该创建一个存储过程来插入到这两个表中?

或者,在触发器中可能有一些,用于从导致触发器触发的insert语句中获取值?我还没有找到任何关于这方面的东西。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-06-28 06:12:25

您应该能够使用NEW.{id column name}来引用最后一个插入id (例如,如果自动增量列名为id,则为NEW.id )。

票数 19
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6499389

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档