OpenESQL uses the MySQL
_rowid field to support the use of positioned updates and deletes in cursors. The
_rowid field is available in MySQL only when a table is defined with a unique constraint or primary key on an integer column.
Note: When a table is not defined with a unique constraint or primary key on an integer column, you must replace EXEC SQL UPDATE/DELETE WHERE CURRENT OF statements with corresponding searched EXEC SQL UPDATE/DELETE statements.
When a row in MySQL is updated but the row contents do not change, MySQL might return an affected row count of 0 (zero) instead of 1 as is generally returned by other DBMSs. To work around this, consider modifying the MySQL ODBC driver Configuration Options as follows:
Invoke the MySQL/Connector/ODBC Data Source Configuration.
Click
Cursors/Results.
Check
Return matched rows instead of affected rows
The following restrictions apply when using MySQL 5.7 with the ODBC 5.3 driver:
Unqualified SELECT * statements must not have any other items in the projection list
ODBC escape sequences are not recognized
MySQL does not permit deferred constraint checking for an SQL statement, or for SQL statements within a transaction boundary