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

Zaktualizuj bazę danych za pomocą wielu instrukcji SQL

W końcu po długich poszukiwaniach dokumentów i pomocy. Mogę rozwiązać ten problem.

Używanie for pętla w cursor.execute z multi=True pracował. Nie wiem, dlaczego musimy przejść przez pętlę.

for result in cursor.execute(SQL, multi=True):
    pass

Bez pętli po prostu cursor.execute(SQL, multi=True) nie dokonał żadnych zmian w bazie danych.

import mysql.connector

cnx = mysql.connector.connect(user='scott', database='test')
cursor = cnx.cursor()

SQL = '''
    update my_table 
    set 
    LAY = 'P6682'
    , BLK = 'P6682'
    , ANI = 'P6682'
    where
    Shot = 'SH01';

    update my_table 
    set 
    LAY = '1863'
    , BLK = '1863'
    , ANI = '1863'
    where
    Shot = 'SH02'
'''

for result in cursor.execute(SQL, multi=True):
    pass

cnx.commit()
cur.close()
cnx.close()
cnx.disconnect()


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Maskowanie wyjścia MySQL (tj. numer telefonu, numer SSN itp. formatowanie wyświetlacza)

  2. Railsy, ​​MySQL i Snow Leopard

  3. Typ danych MySQL INT(11) podczas gdy UNSIGNED INT(10)?

  4. serwer społeczności mysql vs instalator mysql

  5. Nie można wydać instrukcji manipulacji danymi za pomocą executeQuery()