从MySQL 5.0.2开始,通过mysql_stmt_attr_set() C API函数实现了服务器端光标。服务器端光标允许在服务器端生成结果集,但不会将其传输到客户端,除非客户端请求这些行。例如,如果客户端执行了查询,但仅对第1行感兴趣,那么不会传输剩余的行。
光标是只读的,不能使用光标来更新行。
未实施UPDATE WHERE CURRENT OF和DELETE WHERE CURRENT OF,这是因为不支持可更新的光标。
光标是不可保持的(提交后不再保持打开)。
光标是不敏感的。
光标是不可滚动的。
光标是未命名的。语句处理程序起着光标ID的作用。
对于每条预处理语句,仅能打开1个光标。如果需要多个光标,必须处理多条语句。
如果在预处理模式下不支持语句,不能在生成结果集的语句上使用光标。包括CHECK TABLES、HANDLER READ和SHOW BINLOG EVENTS语句。