У меня есть словарь в моем скрипте python, который содержит данные как column_name: значение, и из этого я хочу создать инструкцию для обновления. Я использую Python 3.3 и сх-оракул Я нашел этот ответ: How to update mysql with python where fields and entries are from a dictionary?Создание отчетов Oracle Update из Python Dictionary
и использовали его как:
SQL = 'UPDATE scheme SET {}'.format(', '.join('{}=%s'.format(k) for k in schemes_dict))
cursor.execute(SQL, schemes_dict.values())
но это ошибки с:
TypeError: expecting a dictionary, sequence or keyword args
Я был googling и чтение, но я не могу найти способ заставить его работать. Может ли кто-нибудь помочь?
спасибо за это, но я все еще боюсь, когда я использую cursor.execute (SQL, ** schem_dict) Я получаю cx_Oracle.DatabaseError: ORA-01036: незаконное имя/номер переменной. Есть ли способ получить фактическое утверждение, которое отправляется в БД? Я попытался добавить print (cursor.statement), но он упал до того, как он туда попал – user2565150
Я изменил ответ. для named bind это другой синтаксис SQL, но также попробуйте другие предложения. –