phpmyadmin:MySQL 的表行数不正确
Posted
技术标签:
【中文标题】phpmyadmin:MySQL 的表行数不正确【英文标题】:phpmyadmin: Incorrect table rowcount with MySQL 【发布时间】:2013-09-07 14:19:10 【问题描述】:我有一个表,根据 phpmyadmin 的行数约为 76.000 行(显示行 0 - 99(总共约 76,853 行,查询耗时 0.0322 秒)和)。但是,当尝试在 4950 个条目后从 phpmyadmin 浏览时)我得到空结果(没有显示)。
phpmyadmin 中的相关查询是:
SELECT * FROM mytable LIMIT 5000 , 100
如果我从 php 脚本运行此查询,它也会返回零行。
我也是从 php 脚本运行的
$getcache_PRST = $LGCACHEPDO->prepare("SELECT * FROM mytable");
$getcache_PRST->execute() or die($LGCACHEPDO->errorInfo());
$getcache_ROWN = $getcache_PRST->rowCount();
echo $getcache_ROWN ."<br>";
结果是 4950 行。
我是不是做错了什么?
引擎是innoDB。
编辑
$nRows = (int) $LGCACHEPDO->query("select count(*) from mytable")->fetchColumn();
echo $nRows;
和
$q = $LGCACHEPDO->query("select * from mytable");
$rows = $q->fetchAll();
$rowCount = count($rows);
echo "There are $rowCount rows\n";
这些查询还返回 4950 行...而不是 76.000
【问题讨论】:
请看php.net/manual/en/pdostatement.rowcount.php Why does my InnoDB table have a weird value for record count?的可能重复 可能,这就是about
和~
所暗示的。
Why estimated rows count is very different in phpmyadmin result? 的可能副本
【参考方案1】:
我下载了表格,确实正如你们提到的那样,phpmyadmin 的报告并不准确。行数确实是 4950 行。谢谢。
【讨论】:
【参考方案2】:这是 InnoDB 表的常见问题解答。 看https://phpmyadmin.readthedocs.org/en/latest/faq.html?highlight=MaxExactCount#the-number-of-rows-for-innodb-tables-is-not-correct的解释
【讨论】:
以上是关于phpmyadmin:MySQL 的表行数不正确的主要内容,如果未能解决你的问题,请参考以下文章