当我有这样的循环时:
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 数据。