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

mã hóa một danh sách để sử dụng trong mệnh đề python MySQLDB IN

Sử dụng list_of_ids trực tiếp:

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

Bằng cách đó, bạn tránh phải tự báo giá và tránh tất cả các loại tiêm sql.

Lưu ý rằng dữ liệu (list_of_ids ) sẽ trực tiếp đến trình điều khiển của mysql, dưới dạng một tham số (không có trong văn bản truy vấn) nên không có nội dung nào. Bạn có thể để lại bất kỳ ký tự nào bạn muốn trong chuỗi, không cần xóa hoặc trích dẫn các ký tự.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Di chuyển MySQL sang PostgreSQL trên AWS RDS, Phần 1

  2. Cách chuyển đổi UTC sang Giờ địa phương trong MySQL

  3. MySQL Giá trị ngày giờ không chính xác:'0000-00-00 00:00:00'

  4. Thay đổi giới hạn cho kích thước Hàng Mysql quá lớn

  5. Cách chuyển tất cả cơ sở dữ liệu MySQL từ máy chủ cũ sang máy chủ mới