sql >> Databasteknik >  >> RDS >> Mysql

Hur ändrar du SQL-isoleringsnivån från Python med MySQLdb?

Jag tror inte att detta fungerar för MySQLdb-drivrutinen; du måste skicka separata frågor:

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

MySQLdb-markörens execute()-metod ser bara den första frågan upp till semikolon:

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

# output
(('bar',),)


  1. Meddelandesystem i php mysql

  2. Infoga i alla celler när poster är fler än en PHP

  3. Hur expanderar jag kommaseparerade värden till separata rader med SQL Server 2005?

  4. MySQL går med och COUNT(*) från en annan tabell