sql >> Database teknologi >  >> RDS >> Mysql

Hvordan ændrer du SQL-isolationsniveauet fra Python ved hjælp af MySQLdb?

Jeg tror ikke, at dette virker for MySQLdb-driveren; du bliver nødt til at udstede separate forespørgsler:

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()-metode ser kun den første forespørgsel op til semikolon:

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

# output
(('bar',),)


  1. Automatiser sikkerhedskopiering og vedligeholdelsesjob ved hjælp af vedligeholdelsesplan i SQL Server

  2. Sporing i realtid i google map

  3. Hvorfor tillader Oracle SQL os ikke at bruge kolonnealiaser i GROUP BY-sætninger?

  4. Hvordan får man en rækkerangering?