MySQL数据是从缓冲区查询返回的吗?

时间:2013-03-28 22:51:41

标签: php mysql sql

如果我使用SELECT语句运行mysql_query(),那么当我处理所有记录时,另一个进程会修改结果集中的一些数据,这些数据尚未处理。使用mysql_fetch_row()可以获取旧数据或更新数据吗?

例如:
表:

id data
1  a
2  b
3  c
4  d

我已处理第1行和第2行,然后使用 id 3行并将数据更改为 e
调用mysql_fetch_row()会得到一个数据等于 c e 的数组?

1 个答案:

答案 0 :(得分:2)

使用mysql_query结果将被缓冲。如果你想要它没有缓冲,那么你可以使用mysql_unbuffered_query,但请记住以下内容:

  

mysql_unbuffered_query()的好处是有代价的:你不能   在返回的结果集上使用mysql_num_rows()和mysql_data_seek()   来自 mysql_unbuffered_query(),直到获取所有行。你也是   必须先从无缓冲的SQL查询中获取所有结果行   可以使用相同的* link_identifier *。

向MySQL发送新的SQL查询

尽管如此,你不应该再使用mysql函数,无论如何...