Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/238.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/67.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 插入后缺少行_Php_Mysql_Innodb - Fatal编程技术网

Php 插入后缺少行

Php 插入后缺少行,php,mysql,innodb,Php,Mysql,Innodb,我有一个php应用程序,它向一个非常简单的查询表插入行。 它每10-15分钟运行一次。 直到上周,它还没有出现任何问题,但在一次磁盘故障后,我将db移到了另一台服务器上,这个问题开始出现 返回时没有错误,日志中没有任何内容,但缺少我的插入 有一个循环,它为每个循环插入一个新行 每次插入后,我检查mysqli\u insert\u id,然后将其记录到一个文件中。 然后我运行一个SELECT查询来检查主字段是否在表中,是的。 受影响的行数为1。 但当我从另一个mysql连接运行SELECT查询时,

我有一个php应用程序,它向一个非常简单的查询表插入行。 它每10-15分钟运行一次。 直到上周,它还没有出现任何问题,但在一次磁盘故障后,我将db移到了另一台服务器上,这个问题开始出现

返回时没有错误,日志中没有任何内容,但缺少我的插入

有一个循环,它为每个循环插入一个新行

每次插入后,我检查mysqli\u insert\u id,然后将其记录到一个文件中。 然后我运行一个SELECT查询来检查主字段是否在表中,是的。 受影响的行数为1。 但当我从另一个mysql连接运行SELECT查询时,在PHP停止执行之前(所以它的连接仍然处于运行状态),什么都没有显示

它看起来像一个自动回滚,但我没有发现任何死锁,使用pt死锁记录器;

我不知道是否还有其他原因导致自动回滚

顺便说一句,我还发现,在PHP循环中还有其他INSERT查询,它们也没有插入

MySQL:5.6.21
引擎:InnoDB

我发现了问题,在应用程序代码的深处,我发现有时会执行此查询

SET autocommit = 0

而且它永远不会被设置回1。

请注意,它们不再被维护,并且会被删除。而是学习,并使用或。你确定PHP没有在新服务器上升级吗?我实际上没有使用mysql\u insert\u id函数,我只是检查了我们使用的库,它正在调用mysqli\u insert\u id。谢谢提醒。我们刚刚更改了数据库服务器,PHP在同一台机器上运行。您对查询和连接进行了什么样的错误检查?