Setting client flags with MySQL Connector/Python works a bit differently than the other MySQL Python drivers. This blog post describes how to set and unset flags, like the CLIENT_FOUND_ROWS.
The default client flags for the MySQL Client/Server protocol can be retrieved using the constants.ClientFlag class:
>>> from mysql.connector.constants import ClientFlag >>> defaults = ClientFlag.get_default() >>> print ClientFlag.get_bit_info(defaults) ['SECURE_CONNECTION', 'TRANSACTIONS', 'CONNECT_WITH_DB', 'PROTOCOL_41', 'LONG_FLAG', 'MULTI_RESULTS', 'MULTI_STATEMENTS', 'LONG_PASSWD']
To set an extra flag when connecting to MySQL you use the client_flags argument of connect()-method. For example, you’d like to have the CLIENT_FOUND_ROWS set:
import mysql.connector from mysql.connector.constants import ClientFlag extra_flags = [ClientFlag.FOUND_ROWS] cnx = mysql.connector.connect(client_flags=extra_flags)
Similar, you can unset a flag passing a list of negative values, or all at the same time. For example, you’d like the CLIENT_FOUND_ROWS set, but you don’t want CLIENT_MULTI_STATEMENTS:
import mysql.connector from mysql.connector.constants import ClientFlag extra_flags = [ClientFlag.FOUND_ROWS, -ClientFlag.MULTI_STATEMENTS] cnx = mysql.connector.connect(client_flags=extra_flags)
It is also possible to pass the client_flags an integer, but you need to get first the defaults, and do bitwise operations to set/unset flags yourself. At the moment of writing, there is a bug about this, see lp:695514, but I recommend using the list-method.
PlanetMySQL Voting: Vote UP / Vote DOWN