Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/259.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 发现MySQL中autoincrement列的最后一个插入ID_Php_Mysql - Fatal编程技术网

Php 发现MySQL中autoincrement列的最后一个插入ID

Php 发现MySQL中autoincrement列的最后一个插入ID,php,mysql,Php,Mysql,我目前正在使用: SELECT MAX(id) FROM table 发现某个表的当前id,但我听说这会带来不好的结果。正确的做法是什么?请注意,我没有在该查询之前插入或删除任何内容。我只想知道当前ID,无需事先插入或删除。执行以下SQL: 显示表格状态,如“TABLENAME” 然后选中字段自动递增,您可以使用以下查询: SELECT id FROM table ORDER BY id DESC LIMIT 1; 还有更多。。。查看右侧的“相关”部分,当删除中间的某个内容时,最大id可能与

我目前正在使用:

SELECT MAX(id) FROM table

发现某个表的当前id,但我听说这会带来不好的结果。正确的做法是什么?请注意,我没有在该查询之前插入或删除任何内容。我只想知道当前ID,无需事先插入或删除。

执行以下SQL:

显示表格状态,如“TABLENAME”


然后选中字段自动递增

,您可以使用以下查询:

SELECT id FROM table ORDER BY id DESC LIMIT 1;

还有更多。。。查看右侧的“相关”部分,当删除中间的某个内容时,最大id可能与主键的自动增量值不同。您到底想查找什么?最后插入的行的id?(如果同时删除了呢?)要插入的下一个未来)行的id?表中最新项id为@MarcusAdams的行不能是最高的行,特别是当mysql用作集群时(并且配置为每台服务器保留5个id)。我上面的例子可能有点混乱。@Hajo,对不起。我以为我们讨论的是列中的id,而不是表的auto_increment属性。我想我们将等待OP的消息。如果数据库很大,我想它可能在InnoDB上。在MyISAM表上,我必须处理这些表,它们确实很小,它可以很快运行。这将不必提供插入的最后一个ID,只提供表中仍然存在的最后一个ID。假设您插入3条记录,然后删除记录3。下一个ID是4,最大(ID)或第一个ID排序的DESC是2。