2

oursql名前付きプレースホルダーを使用したパラメーター化されたクエリが、MySQLデータベースと対話するためのPythonモジュールで可能かどうかを誰かに教えてもらえれば幸いです。

たとえば、sqlite3で使用できる種類のクエリを試しました

c.execute('''select * from records where id=:id''', {"id": 2})

それは動かなかった。構文でProgrammingErrorが発生します。でこれを行う別の方法があるかどうか疑問に思いましたoursql

それが不可能な場合はoursql、名前付きプレースホルダーを使用したパラメーター化されたクエリを可能にするMySQLデータベースとの対話に使用できる別のPythonモジュールを知っていますか。

ご協力ありがとうございました。

4

1 に答える 1

4

oursqlのドキュメントには、このスタイルのフォーマットと互換性があるとは思わないqmark表記が使用されていると記載されています。「pyformat」をサポートするDBAPIを探しています。(「paramstyle」のDB API仕様を参照してください。)

私の経験では、MySQLdbを使用しています。これは、クエリを記述できる「pyformat」パラメータスタイルをサポートしています。

c.execute("""SELECT * FROM records WHERE id = %(id)s""", {"id": 2})
于 2012-06-11T19:06:11.913 に答える