gpt4 book ai didi

mysql - PDO - lastInsertId() 用于多行插入查询

转载 作者:IT王子 更新时间:2023-10-29 00:38:47 26 4
gpt4 key购买 nike

我可以将 2 个宠物插入一个表中,并获取它们的 lastInsertId() 以一次进一步处理一个(2 个查询)。
我想知道如果我在 1 个查询中插入 2 行,是否有办法获取两个 lastInsertIds() 并将它们分配给变量:

$query = "INSERT INTO pets (pet_name) VALUES (':coco'),(':jojo')";
$pet_insert = $dbh->prepare($query);
$pet_insert->execute(array(':coco' => $coco,':jojo' => $jojo));
$New_PetID = $dbh->lastInsertId();

是否可以获取 coco 和 jojo 的 lastInsertId() ?所以像:

$New_PetID1 = $dbh->lastInsertId();//coco
$New_PetID2 = $dbh->lastInsertId();//jojo

这将给出相同的 ID,有什么方法可以得到这 2 个 ID?仅供引用,这是在 try block 中。

最佳答案

这是不可能的。如果您需要为两行生成 id - 您需要执行 2 个单独的 INSERT

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.

http://dev.mysql.com/doc/refman/5.5/en/information-functions.html#function_last-insert-id

关于mysql - PDO - lastInsertId() 用于多行插入查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12574691/

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