Tôi đang cố gắng chèn một biến python vào bảng MySQL trong một tập lệnh python nhưng nó không hoạt động. Đây là mã của tôiKết nối MySQL/Python - chèn biến python vào bảng MySQL
add_results=("INSERT INTO account_cancel_predictions"
"(account_id,21_day_probability,flagged)"
"Values(%(account_id)s,%(21_day_probability)s,%(flagged)s)")
data_result={
'account_id':result[1,0],
'21_day_probability':result[1,1],
'flagged':result[1,2]
}
cursor.execute(add_results,data_result)
cnx.commit()
cursor.close()
cnx.close()
này được lỗi
ProgrammingError: Failed processing pyformat-parameters; 'MySQLConverter' object has no attribute '_float64_to_mysql'
Tuy nhiên, khi tôi thay thế các tên biến result[1,0]
, result[1,1]
, và result[1,2]
với giá trị số thực tế của họ nó làm việc. Tôi nghi ngờ python là đi qua các tên biến thực tế chứ không phải là các giá trị mà họ nắm giữ. Làm thế nào để sửa lỗi này?
Bất kỳ ai? ........ – user1893354
kết nối = engine.connect() kết nối.execute ("" "cập nhật Người chơi đặt Vàng = (?) Trong đó Tên = (?)" "", (Vàng, tên)), có lẽ chỉ là một điều fanboy nhưng tôi có xu hướng sử dụng sqlalchemy với python và điều này có xu hướng đơn giản hóa nhiều điều này và tôi đã không bao giờ có vấn đề bằng cách sử dụng ký tự đại diện với nó – theBigChalk