我使用的是Python 2.7和MySql 5.7。我尝试使用代码创建临时表:
self.A
但我收到了错误:
def create_temp_table():
cnx = connect_mysql('username', 'password', 'host', 'db')
cursor = cnx.cursor()
try:
create_table_query = "CREATE TEMPORARY TABLE IF NOT EXISTS temptable (id INT UNSIGNED NOT NULL, val1 VARCHAR(64), val2 VARCHAR(128), val3 VARCHAR(128), PRIMARY KEY (id))"
cursor.execute(create_table_query)
cnx.commit()
cursor.close()
cnx.close()
except:
cnx.close()
raise
根据MySQL手册:
"临时表。使用GTID时,事务内部不支持CREATE TEMPORARY TABLE和DROP TEMPORARY TABLE语句(即,使用--enforce-gtid-consistency选项启动服务器时)。可以在启用GTID的情况下使用这些语句,但仅限于任何事务之外,并且只能使用autocommit = 1."
如何在Python中使用autocommit = 1在事务外部创建此临时表?