Cuối cùng sau một thời gian dài nghiên cứu về tài liệu và trợ giúp. Tôi có thể giải quyết vấn đề.
Sử dụng for
vòng lặp tại cursor.execute
với multi=True
đã làm việc. Tôi không biết tại sao chúng ta cần lặp lại.
for result in cursor.execute(SQL, multi=True):
pass
Không có vòng lặp, chỉ cần cursor.execute(SQL, multi=True)
không thực hiện bất kỳ thay đổi nào trong cơ sở dữ liệu.
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()