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 $$

“ anothertable”中的id与“ sometable”中的id非常重要,这是否可行?还是应该创建一个存储过程插入到两个表中?

还是触发器中有一些要从导致触发器触发的insert语句中获取值?我还没有发现任何东西。

回答:

您应该能够使用它NEW.{id column name}来引用最后一个插入ID(例如,NEW.id如果自动递增列被调用id。)

以上是 mysql在触发器中获取last_insert_id() 的全部内容, 来源链接: utcz.com/qa/430608.html

回到顶部