Starting with the MySQL 5.0.2, the server-side cursor is implemented through the Mysql_stmt_attr_set () C API function. The server-side cursor allows the result set to be generated on the server side, but is not transferred to the client unless the client requests the rows. For example, if a client executes a query but is interested only in line 1th, the remaining rows are not transferred.
The cursor is read-only and the row cannot be updated with the cursor.
Update where current and delete where current is not implemented because updatable cursors are not supported.
The cursor is not persisted (no longer remains open after submission).
The cursor is not sensitive.
The cursor is not scrollable.
The cursor is not named. The statement handler plays the role of the cursor ID.
For each preprocessing statement, only 1 cursors can be opened. If multiple cursors are required, multiple statements must be processed.
If a statement is not supported in preprocessing mode, you cannot use the cursor on the statement that generates the result set. Includes check TABLES, HANDLER read and show Binlog events statements.