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

Lỗi truy vấn Python / MySQL:`Cột không xác định`

"INSERT INTO fruit (name, variety) VALUES (%s, %s)" % ("watermelon", "melon")

Theo nghĩa đen trở thành

INSERT INTO fruit (name, variety) VALUES (watermelon, melon)

Thay vì chuỗi, watermelonmelon là các cột. Để khắc phục điều này, hãy đặt dấu ngoặc kép xung quanh %s của bạn .

"INSERT INTO fruit (name, variety) VALUES ('%s', '%s')" % (new_fruit, new_fruit_type)

Tuy nhiên, bạn nên chạy nó dưới dạng:

cursor.execute("INSERT INTO fruit (name, variety) VALUES (%s, %s)", (new_fruit, new_fruit_type));

Lưu ý rằng chúng tôi đã loại bỏ các trích dẫn xung quanh %s và đang chuyển các biến làm đối số thứ hai cho execute phương pháp. Execute ngăn chặn việc tiêm sql từ các biến cũng như bao bọc các chuỗi trong dấu ngoặc kép.

Để biết thêm thông tin, hãy xem http://mysql-python.sourceforge.net/ MySQLdb.html # một số-ví dụ



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. mysqli_fetch_array () mong muốn tham số 1 là mysqli_result, boolean được đưa vào

  2. MySQL, cách chèn ngày trống

  3. Sự cố trình điều khiển Mysql

  4. Cột không xác định trong lỗi 'danh sách trường' trên truy vấn Cập nhật MySQL

  5. CONCAT cột với Laravel 5 hùng hồn