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

PreparedStatement:Tôi có thể cung cấp tên cột làm tham số không?

Điều này sẽ không hoạt động. Câu lệnh chuẩn bị phân tích cú pháp SQL, gửi đến cơ sở dữ liệu để xác nhận và biên dịch. Nếu dấu chấm hỏi có thể thay thế các phần của SQL, bạn sẽ mất toàn bộ điểm của các biến bị ràng buộc - tốc độ và bảo mật. Bạn sẽ giới thiệu lại SQL injection trở lại và các câu lệnh sẽ phải được biên dịch lại cho tất cả các tham số.

Sẽ không giống như SELECT * FROM table WHERE c1 = ? OR c2 = ? OR c3 = ? tốt hơn (tất nhiên tùy thuộc vào chỉ mục và kích thước bảng).



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL tối ưu hóa INSERT tốc độ bị chậm lại do các chỉ số

  2. Làm thế nào để hiển thị giá trị của một biến tại dòng lệnh trong MySQL?

  3. Máy chủ Mysql trên MAMP sẽ không khởi động

  4. lưu trữ dữ liệu JSON trong mysql

  5. Làm cách nào để bật máy khách MySQL tự động kết nối lại với MySQLdb?