在PDO回滚后,phpMyAdmin不会显示正确的行数

时间:2014-07-13 16:20:22

标签: php mysql sql pdo phpmyadmin

Showing 1 record

SELECT returns zero rows

我在rollBack()语句后使用PDO的INSERT函数。它正常工作,但在我截断我的表并确保行计数在phpMyAdmin的面板中显示为~0,执行查询然后回滚导致行计数显示为~1(或如何插入然后回滚的很多行。

当我选择所有行时,没有任何行,但phpMyAdmin仍然显示不为零。我不知道它是否与应用程序或我的代码相关。这是代码:

// begin the transaction
$this->db->beginTransaction();
// create sql query
$sql = "INSERT INTO `table` (`name`) VALUES (?) ";
// prepare connection with the statement
$stmt = $this->db->prepare($sql);
// bind parameters to query
$stmt->bindParam(1, $this->name);
// execute the statement
$stmt->execute();
// just for testing
$this->db->rollBack();
  • 我的表格为InnoDB
  • 我选择了MySQL Workbench的所有行,但仍然没有行。
  • 如果我不回滚有行,那么我很确定查询是否有效。
  • 如果我回滚一条记录然后插入新记录而不回滚,则选择all返回1行,但phpMyAdmin面板中显示的计数仍为~2
  • phpMyAdmin版本为4.1.13
  • PHP版本为5.4.24
  • MySQL Server版本为5.6.19

这是一个错误还是预期的行为?如果我继续回滚某些记录,将来是否会引起任何麻烦,例如返回错误的行数?

0 个答案:

没有答案