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

Opdater database med flere SQL-statments

Endelig efter en lang research om dokumenter og hjælp. Jeg kunne løse problemet.

Brug af en for loop ved cursor.execute med multi=True arbejdet. Jeg ved ikke, hvorfor vi skal gå igennem.

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

Uden loop bare cursor.execute(SQL, multi=True) foretog ingen ændringer 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. MySQLi - erklærer variabel efter bind_param?

  2. MySQL:hvordan man indekserer en OR-klausul

  3. Oracle (11.2.0.1):Sådan identificeres rækken, som i øjeblikket er opdateret af UPDATE-sætningen

  4. Oracle 12.2 Sharding