Python MySQLdb: Parametry zapytania jako nazwany słownik [zamknięte]

Chcę przekazać parametry zapytania docursor.execute() metodaMySQLdb jako nazwany słownik, taki, jaki jestuciekł z wtrysku SQL.

Czy możesz wyjaśnić, dlaczego to dajeKeyError:

>>> c.execute('select id from users where username=%(user)s', {'user':'bob',})
KeyError: 'user'

Podręcznik MySQLdbhttp://mysql-python.sourceforge.net/MySQLdb.html mówi:

paramstyle

Ciąg znaków określający typ formatowania znaczników parametrów oczekiwany przez interfejs. Ustawić'format' = Kody formatu ANSI C printf, np.'...WHERE name=%s'. Jeśli używany jest obiekt odwzorowaniaconn.execute(), wtedy interfejs faktycznie korzysta'pyformat' = Kody rozszerzonego formatu Pythona, np.'...WHERE name=%(name)s'. Jednak API nie pozwala obecnie na określenie więcej niż jednego stylu w stylu paramstyle.

questionAnswers(2)

yourAnswerToTheQuestion