sql >> Databáze >  >> RDS >> Mysql

Jak změníte úroveň izolace SQL z Pythonu pomocí MySQLdb?

Nemyslím si, že to funguje pro ovladač MySQLdb; budete muset zadat samostatné dotazy:

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',)

Metoda execute() kurzoru MySQLdb vidí pouze první dotaz až po středník:

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

# output
(('bar',),)


  1. PHP související s PDO:Aktualizace příkazu SQL neaktualizuje obsah databáze

  2. Java spuštěná spouštěčem MySQL

  3. Jak vytvořit soubor pro zařazování skriptů Oracle SQL

  4. Převeďte časové razítko na datum v Oracle SQL