php - 如何获取mysql表中的下一个自增ID?

标签 php mysql

我需要从我的mysql产品表中获取下一个自动增量ID。

这是我尝试的方法:

SELECT `auto_increment` 
FROM INFORMATION_SCHEMA.TABLES
WHERE table_name = 'products';

当这个查询运行时,我可以得到这样的输出。

+----------------+
| auto_increment |
+----------------+
|             10 |
|              1 |
|             14 |
+----------------+
3 rows in set (0.02 sec)

谁能告诉我为什么它显示 3 个值。 (3行)

注意:我的产品表仍然是空的。

mysql> select * from products;
Empty set (0.00 sec)

最佳答案

Run this query

SHOW TABLE STATUS LIKE 'products'

Using php

$result = mysql_query("
    SHOW TABLE STATUS LIKE 'products'
");
$data = mysql_fetch_assoc($result);
$next_increment = $data['Auto_increment'];

Using mysqli

$db = new mysqli('YOUR_HOST', 'DB_USERNAME', 'DB_PASSWORD', 'DATABASE');

if($db->connect_errno > 0){
    die('Unable to connect to database [' . $db->connect_error . ']');
}

$sql = <<<SQL
SHOW TABLE STATUS LIKE 'products'
SQL;

if(!$result = $db->query($sql)){
    die('There was an error running the query [' . $db->error . ']');
}

$row = $result->fetch_assoc();

echo $row['Auto_increment'];

详情https://stackoverflow.com/a/1372115

关于php - 如何获取mysql表中的下一个自增ID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33051295/

相关文章:

php - 通过检查MySQL中其他三个表的信息来更新表的记录

mysql - 收集数据然后将其导入到 drupal 的最佳方法是什么?

mysql - 如何在 MySQL 表更新后触发操作?

mysql - 构建一个 SQL 来计算与父项相关的行数

php - 使用某些文件提交表单时 Symfony2 POST 数据为空

php - 日期计数 PHP

php - 当我使用 mysqli 命令获取时,阿拉伯字体无法转换

php - 如何获取已安装字体的CSS font-family?

javascript - 为什么我尝试在 AngularJs 中获取非对象错误的属性?

mysql - 当我在 my.cf 中取消注释 innodb 时,它会中断