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

meledakkan daftar untuk digunakan dalam klausa python MySQLDB IN

Gunakan list_of_ids langsung:

format_strings = ','.join(['%s'] * len(list_of_ids))
cursor.execute("DELETE FROM foo.bar WHERE baz IN (%s)" % format_strings,
                tuple(list_of_ids))

Dengan begitu Anda tidak perlu mengutip diri sendiri, dan menghindari semua jenis injeksi sql.

Perhatikan bahwa data (list_of_ids ) akan langsung ke driver mysql, sebagai parameter (bukan dalam teks kueri) sehingga tidak ada injeksi. Anda dapat meninggalkan karakter apa pun yang Anda inginkan dalam string, tidak perlu menghapus atau mengutip karakter.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara membuat kueri bergabung menggunakan Sequelize di Node.js

  2. Cara Mengenkripsi Lalu Lintas Database Cloud Hibrida

  3. Cara mereset kata sandi root MySQL

  4. Mengimpor CSV ke MySQL dengan format tanggal berbeda

  5. Perbarui baris dengan data dari baris lain dalam tabel yang sama