Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak zmienić poziom izolacji SQL z Pythona za pomocą MySQLdb?

Myślę, że to nie działa dla sterownika MySQLdb; będziesz musiał zadać osobne zapytania:

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() kursora MySQLdb widzi tylko pierwsze zapytanie do średnika:

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

# output
(('bar',),)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Zapytanie Mysql nie używa indeksu, gdy istnieją zmienne w WHERE

  2. Mysql, aby wybrać rekord miesięczny, nawet jeśli dane nie istnieją

  3. Pula połączeń Perla

  4. Wybierz tylko niektóre kolumny z tabeli w LEWYM POŁĄCZENIU

  5. Jak udzielić zdalnego dostępu do MySQL dla całej podsieci?