Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Cập nhật cơ sở dữ liệu với nhiều trạng thái SQL

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()


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kích thước lược đồ MySQL

  2. MySQL có sử dụng lại ID đã xóa khi áp dụng Tự động tăng không

  3. Tôi có thể tìm tệp my.ini tệp cho máy chủ windows mysql ở đâu?

  4. MySQL trên Azure Performance Benchmark - ScaleGrid so với Cơ sở dữ liệu Azure

  5. Làm thế nào để kiểm tra xem trường là null hay trống trong MySQL?