1

これはばかげた質問だと思いますが、どこにも何も見つかりません。

ユーザーが列ごとに並べ替え/順序を指定するpsycopg2を使用してSQLクエリを作成したい..クライアント側は、並べ替え/ページングなどを提供するデータのjavascriptグリッドです.

通常の置換の練習は機能しません: (E'xx' に注意してください)

cur.mogrify('select * from table offset %s limit %s order by %s', [0,5,'sort_column'])
>>> "select * from table offset 0 limit 5 order by E'sort_column'"

自分でクレンジング/ order by 句を置換する以外に、これを行うための推奨される方法は何ですか?

テーブル、フィールド、およびスキーマの psycopg2 E' の複製 ですか?

乾杯

-私

4

1 に答える 1

1

Python の DBAPI のエンティティ名 (テーブル/列など...) は、変数のようにプレースホルダー処理を実行しないでください。独自の書式設定を行う必要があります。

'select * from table offset %s limit %s order by %s' % (0,5,'sort_column')

ただし、適切なエスケープ/プレースホルダー関数WHERE var = %sなどを使用してください...

于 2012-07-19T08:27:42.173 に答える