Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Perbarui basis data dengan beberapa Pernyataan SQL

Akhirnya setelah penelitian panjang tentang dokumen dan bantuan. Saya dapat menyelesaikan masalah tersebut.

Menggunakan for loop di cursor.execute dengan multi=True bekerja. Saya tidak tahu mengapa kita perlu mengulang.

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

Tanpa loop cukup cursor.execute(SQL, multi=True) tidak melakukan perubahan apa pun dalam 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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tanggal default MySQL () + 14 hari, untuk kolom?

  2. pernyataan persiapan driver golang sql

  3. menambahkan 30 menit ke datetime php/mysql

  4. Batasi hasil dari tabel yang digabungkan menjadi satu baris

  5. Pembaruan MySQL mengubah beberapa kolom bukan atom?