How to disable query cache with mysql.connector

Rictrunks picture Rictrunks · Feb 23, 2014 · Viewed 8.9k times · Source

I'm connecting mysql on my Kivy application.

import mysql.connector
con = mysql.connector.Connect(host='XXX', port=XXX, user='XXX', password='XXX', database='XXX')
cur = con.cursor()
db = cur.execute("""select SELECT SQL_NO_CACHE * from abc""")
data = cur.fetchall()
print (data)

After inserting or deleting on table abc from another connection; i call the same query on python; but data is not updating.

I add the query "SET SESSION query_cache_type = OFF;" before select query, but it didn't work. Someone said "select NOW() ..." query is not cachable but it didn't work again. What should I do?

Answer

Rictrunks picture Rictrunks · Feb 23, 2014

I solved this with adding the code after fetchall()

con.commit()

Calling the same select query without doing a commit, won't update the results.