LAST_INSERT_ID() 多记录 INSERT 语句的行为
使用单个 INSERT 语句将多条记录插入 MySQL 表时,LAST_INSERT_ID()通常返回第一个插入记录的 ID,而不是
正如 MySQL 文档中所确认的,此行为可确保 INSERT 语句可以在其他服务器上准确地重现。后续记录的 ID 值不会返回,因为它无法在不同的数据库服务器之间一致分配。
示例:
考虑以下 INSERT 语句:
INSERT INTO people (name, age) VALUES ('William', 25), ('Bart', 15), ('Mary', 12);
执行该语句后,LAST_INSERT_ID() 将返回 1,即第一条插入记录的 ID (威廉)。这是预期的行为,并确保可以复制该语句而不会出现意外结果。
含义:
在处理多个记录插入的代码中,请务必注意并相应地处理 ID 值。例如,如果您需要检索所有插入记录的 ID,则可能需要使用其他方法,例如返回插入的行数,然后单独检索 ID。
以上是LAST_INSERT_ID() 在 MySQL 中如何处理多记录 INSERT 语句?的详细内容。更多信息请关注PHP中文网其他相关文章!