“使用可滚动游标提取行”是什么意思?
Wikipedia 给出了以下内容:
使用不可滚动的光标,也称为仅向前,可以最多一次获取每行,并且光标自动移动到紧随其后的行。在检索到最后一行之后进行提取操作会将光标定位在最后一行之后,并返回 SQLSTATE 02000(SQLCODE +100)。
还有这个:
程序可以使用 FETCH SQL 语句在结果集中的任何位置定位可滚动光标。
您应该阅读早期链接的文章,但这看起来也是一些有趣的信息:
在PHP中,您可以使用准备语句(参见可滚动光标可能会多次访问结果集中的同一行。因此,来自其他事务的数据修改(插入、更新、删除操作)可能会对结果集产生影响。
PDOStatement::fetch
)来使用可滚动的光标。要为您的PDOStatement对象请求可滚动的光标,您必须在使用PDO::prepare()准备SQL语句时将PDO::ATTR_CURSOR属性设置为PDO::CURSOR_SCROLL。(该页面下方还有一个示例)。有趣的是,您可以在不必获取所有数据以迭代它的情况下“滚动”浏览结果集。对于MySQL ... 不支持=不可用(既不是mysql(i)也不是PDO):
mysqli_result :: data_seek(),请注意手册规定:“此函数仅适用于通过使用mysqli_store_result()或mysqli_query()函数获得的缓冲结果。”换句话说,寻求行为发生在本地缓存的结果集副本上,而不是在服务器上。因此,它不支持任何“可滚动游标”的建议。