sql >> Databasteknik >  >> RDS >> Mysql

Uppdatera databas med flera SQL-statement

Äntligen efter en lång research om handlingar och hjälp. Jag skulle kunna lösa problemet.

Använda en for loop vid cursor.execute med multi=True arbetade. Jag vet inte varför vi behöver gå igenom.

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

Utan loop bara cursor.execute(SQL, multi=True) gjorde inga ändringar i databasen.

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. MySQL:Hur väljer jag poster för den här veckan?

  2. Hur stor kan en MySQL-databas bli innan prestandan börjar försämras

  3. När ska jag använda semikolon i SQL Server?

  4. Testar DML-satser för OLTP i minnet