gpt4 book ai didi

MySQL LAST_INSERT_ID() 与多条记录 INSERT 语句一起使用

转载 作者:IT老高 更新时间:2023-10-28 13:00:32 24 4
gpt4 key购买 nike

如果我使用执行单个记录插入的循环插入多条记录,则返回的最后一个插入 id 正如预期的那样是最后一个。但是如果我做一个多记录插入语句:

INSERT INTO people (name,age)
VALUES ('William',25), ('Bart',15), ('Mary',12);

假设上面三个是插入到表中的第一条记录。在插入语句之后,我希望最后一个插入 id 返回 3,但它返回 1。有问题的语句的第一个插入 id。

所以有人可以确认这是否是 LAST_INSERT_ID() 在多条记录 INSERT 语句的上下文中的正常行为。所以我可以基于它来编写代码。

最佳答案

是的。 last_insert_id() 的这种行为是 documented in the MySQL docs :

Important
If you insert multiple rows using a single INSERT statement, LAST_INSERT_ID() returns the value generated for the first inserted row only. The reason for this is to make it possible to reproduce easily the same INSERT statement against some other server.

关于MySQL LAST_INSERT_ID() 与多条记录 INSERT 语句一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4637367/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com