【发布时间】:2013-04-01 21:46:22
【问题描述】:
是否有任何有效的方法可以使用 php 从 mysql 数据库中检索所有最后插入的行自动递增的 ID?假设我不知道批量插入多少行,但插入后我需要它们的所有 ID。
谷歌搜索后,我没有找到任何有效的方法来做到这一点,所以我不确定这是否可能。我可以关注这个,但必须多次访问数据库才能检索 ID。
$data = array (
array(1,2),
array(3,4),
array(5,6)
);
$ids = array();
foreach ($data as $item) {
$sql = 'insert into table (a,b) values ('.$item[0].','.$item[1].')';
mysql_query ($sql);
$ids[] = mysql_insert_id();
}
谢谢
【问题讨论】:
-
所以你的 id 是自动递增的
-
这有什么问题?应该可以正常工作。
-
在您的批次获得最大 ID 之前。在您的批次获得最大 ID 之后。现在你知道范围了。
-
@silentboy:是的,自动递增。
-
附注:
mysql_*函数正在被弃用,将从未来的 PHP 版本中删除。您不应该使用它们来编写新代码。请改用mysqli_*函数或 PDO 对象。
标签: php mysql last-insert-id