相关疑难解决方法(0)

mysql在触发器中获取last_insert_id()

我的理解是,当你调用last_insert_id()时,它会通过连接进行,所以你将获得在调用last_insert_id()的同一连接上插入的最后一行的id,对吗?

那么如果我在'AFTER INSERT'触发器中调用last_insert_id()怎么办?

我想要做的基本上就是这个

DELIMITER $$
CREATE TRIGGER sometrigger
AFTER INSERT ON sometable
BEGIN
  INSERT INTO anothertable (id, lastup) VALUES (last_insert_id(), NOW());
END $$
Run Code Online (Sandbox Code Playgroud)

非常重要的是'anothertable'中的id与'sometable'中的id相同是否可行或者我应该创建一个存储过程而不是插入到两个表中?

或者可能在触发器中有一些从insert语句中获取导致触发器触发的值?我还没有发现任何相关信息.

mysql triggers lastinsertid

13
推荐指数
1
解决办法
2万
查看次数

标签 统计

lastinsertid ×1

mysql ×1

triggers ×1