如何通过INSERT INTO获取当前的ID号?

时间:2012-10-03 17:05:24

标签: mysql sql insert-into

  

可能重复:
  php/MySQL insert row then get 'id'

如何通过INSERT INTO获取当前ID号?

mysql_query("INSERT INTO mytable(id,a,b) VALUES(null,3,current ID) ");

mysql_query("
    INSERT INTO tablo(id,a,b)
    VALUES(null,3,this ID number)
            ^            ^
            |            |
            | <Copy ID>  |
            |____________|
");

3 个答案:

答案 0 :(得分:4)

使用mysqli_insert_id(),它返回上次查询中使用的自动生成的ID。

阅读“PHP mysql_insert_id() Function”或“mysql_insert_id”。

示例:

<?php
$query= "INSERT INTO table_name VALUES ('a','b','c')";
$result = mysql_query($query);
echo "INSERT statement ID is" . mysql_insert_id();
?>

请阅读mysql_insert_id页面上PHP文档中的大红色框,从mysqli开始。

请参阅PHP Documentation以供进一步参考。

答案 1 :(得分:1)

基本上你可以使用mysqli_insert_id功能。

如PHP手册中所述:

  

mysqli_insert_id()函数返回查询生成的ID,该查询在具有AUTO_INCREMENT属性的列的表上。如果最后一个查询不是INSERT或UPDATE语句,或者如果修改后的表没有具有AUTO_INCREMENT属性的列,则此函数将返回零。

答案 2 :(得分:0)

您可以尝试获取所选表中使用的序列的下一个值。请检查MySQL是否具有获取此值的任何功能。如果在执行SQL语句时需要使用此数字,则无法使用PHP函数。

选中“Get Auto Increment value with MySQL query”。