sql >> Database >  >> RDS >> Mysql

Hoe verander je het SQL-isolatieniveau van Python met MySQLdb?

Ik denk niet dat dit werkt voor de MySQLdb-driver; je moet aparte vragen stellen:

cur = conn.cursor()
cur.execute("SET SESSION TRANSACTION ISOLATION LEVEL READ UNCOMMITTED")
cur.execute("SELECT @@session.tx_isolation")
print cur.fetchall()[0]
cur.execute("SELECT * FROM bar")
print cur.fetchall()
cur.execute("SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READ")
cur.execute("SELECT @@session.tx_isolation")
print cur.fetchall()[0]

# output
('READ-UNCOMMITTED',)
(('foo',), ('bar',))
('REPEATABLE-READ',)

De methode execute() van de MySQLdb-cursor ziet alleen de eerste query tot aan de puntkomma:

cur.execute("SELECT * FROM bar WHERE thing = 'bar'; SELECT * FROM bar")
print cur.fetchall()

# output
(('bar',),)


  1. Is het Google Data Analytics Professional-certificaat de moeite waard?

  2. Analytische functies gebruiken in Oracle (Over partitie op trefwoord)

  3. Hoe loop ik door een MySQL-query via PDO in PHP?

  4. ORDER BY Subquery voor GROUP BY to JOIN conversie