Próbuję wstawić zmienną Pythona do tabeli MySQL w skrypcie Pythona, ale nie działa. Oto mój kodZłącze MySQL/Python - wstaw zmienną Pythona do tabeli 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()
To dostaje błąd
ProgrammingError: Failed processing pyformat-parameters; 'MySQLConverter' object has no attribute '_float64_to_mysql'
Jednak, kiedy wymienić nazwy zmiennych result[1,0]
, result[1,1]
i result[1,2]
z ich rzeczywistych wartości liczbowych to działa. Podejrzewam, że Python przekazuje rzeczywiste nazwy zmiennych zamiast ich wartości. Jak to naprawić?
Ktoś? ........ – user1893354
połączenie = engine.connect() connection.execute ("" "update Gracze ustawili Gold = (?), Gdzie Name = (?)" "" (Złoto, nazwa)), może po prostu fanboy rzecz, ale mam tendencję do używania sqlalchemy z python i to zwykle upraszcza wiele z tego i nigdy nie miałem problemów z użyciem symboli wieloznacznych z nim – theBigChalk