在触发器中获取最新插入的 ID?

2022-01-01 00:00:00 database mysql triggers

我使用触发器插入一行,并希望使用上次创建的 id 用于后续查询.

I use a trigger to insert a row and want to use the last created id for using in the subsequent query.

我怎么能这样做?

代码如下:

BEGIN
IF (NEW.counter >= 100) THEN
INSERT INTO tagCategories (name, counter) VALUES ('unnamed', NEW.counter);
// here i want to have access to the above inserted id
UPDATE tagCategories2tagPairs SET tagCategoryId = <<ID_HERE>> WHERE tagPairId = OLD.id
END IF;
END

推荐答案

你看过 LAST_INSERT_ID()?但请注意:

如果您使用 a 插入多行单个 INSERT 语句,LAST_INSERT_ID() 返回值为第一个插入的行生成仅.

If you insert multiple rows using a single INSERT statement, LAST_INSERT_ID() returns the value generated for the first inserted row only.

相关文章