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

Pengkodean string menantang Python

Anda tidak boleh menggunakan .format() untuk memasukkan nilai dalam kueri sql. Gunakan parameter sql sebagai gantinya:

sql += " WHERE provider IN ({}) GROUP BY date ORDER BY date ASC".format(', '.join(['%s'] * len(providers)))

cursor.execute(sql, providers)

di mana providers adalah daftar aslinya.

Idenya adalah untuk menghasilkan kueri SQL dengan in uji menggunakan sintaks parameter SQL yang cocok dengan jumlah penyedia dalam daftar Anda:WHERE provider in (%s, %s) ... untuk daftar dua penyedia. Ya, sintaks parameter sql MySQLdb menggemakan sintaks format python gaya lama, tetapi bukan hal yang sama.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. menambahkan 30 menit ke datetime php/mysql

  2. meningkatkan kinerja untuk klausa LIKE

  3. Tipe data terbaik untuk menyimpan nilai mata uang dalam database MySQL

  4. Bagaimana saya bisa melakukan tiga tabel BERGABUNG dalam kueri UPDATE?

  5. Bagaimana cara memasukkan tanggal ke mysql sebagai parameter?