sql >> Database >  >> RDS >> Mysql

Database bijwerken met meerdere SQL-instructies

Eindelijk na lang onderzoek naar documenten en hulp. Ik zou het probleem kunnen oplossen.

Een for gebruiken loop op cursor.execute met multi=True werkte. Ik weet niet waarom we moeten doorlussen.

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

Zonder lus gewoon cursor.execute(SQL, multi=True) heeft geen wijzigingen aangebracht in de database.

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. Een lijst met ondersteunde gebieden retourneren in Oracle

  2. De beste manier om CSV in Ruby te lezen. Sneller CSV?

  3. Wat is SQL Server? (Definitie, versies, edities)

  4. Waarom bin2hex gebruiken bij het invoegen van binaire gegevens uit PHP in MySQL?