是否可能,从PHP执行时使用ZEND延迟INSERTS?

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了是否可能,从PHP执行时使用ZEND延迟INSERTS?脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我有这样的循环时:

foreach(...) {
  $r1 = $zend_db->fetchrow("SELECT ... ");
  $zend_table->insert($data_array,$where);
}

……跑了几千次有可能,$r1不包含在前一个循环中插入的记录吗?

http://dev.mysql.com/doc/refman/5.1/en/query-cache.html,他们写道“查询缓存不返回陈旧数据.当表被修改时,查询缓存中的任何相关条目都被刷新.”但也许ZEND为SELECT或INSERT做了一些意想不到的缓存?

我需要使用交易来解决这个问题吗?

我有双重记录的问题,他们来自哪里没有其他解释.但我不能重现它,因为它发生在两个月前,导入不再存在的csv数据.

解决方法

正如评论中的drew010所说,除非你自己实现,否则Zend_Db不会进行缓存.下次要确定问题,请尝试这样的事情

try {
          foreach(...) {
      $r1 = $zend_db->fetchRow("SELECT ... ");
      $zend_table->insert($data_array,$where);
                       }
        } catch(Zend_Db_Exception $e)
            {

                $LOGger->log($e->getMessage(),Zend_Log::CRIT); //$logger is instance of Zend_Log
            }

脚本宝典总结

以上是脚本宝典为你收集整理的是否可能,从PHP执行时使用ZEND延迟INSERTS?全部内容,希望文章能够帮你解决是否可能,从PHP执行时使用ZEND延迟INSERTS?所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。