84669 人が学習中
152542 人が学習中
20005 人が学習中
5487 人が学習中
7821 人が学習中
359900 人が学習中
3350 人が学習中
180660 人が学習中
48569 人が学習中
18603 人が学習中
40936 人が学習中
1549 人が学習中
1183 人が学習中
32909 人が学習中
次の Python コードがあります:
ここで、var1 は整数、var2 と var3 は文字列です。
var1
var2
var3
Python を使用せずに変数名を (クエリ テキストの一部として) 記述するにはどうすればよいですか?
Python DB-API の実装が異なると、使用できるプレースホルダーも異なるため、どのプレースホルダーを使用しているかを確認する必要があります (おそらく (MySQLdb を使用するなど)):
または (たとえば、Python 標準ライブラリの sqlite3 を使用する):
またはその他 (VALUES の後には (:1, :2, :3) または「名前付きスタイル」 (:fee, : fie, :fo を指定できます) ) または (%(fee)s, %(fie)s, %(fo)s) ここでは、マップの代わりに辞書を implement## の 2 番目の引数として渡します。 #)。使用している DB API モジュールの paramstyle 文字列定数を確認し、http://www.python.org/dev/peps/pep-0249/ ですべてのパラメータを確認してください。配信スタイル!
VALUES
(:1, :2, :3)
(:fee, : fie, :fo を指定できます) )
(%(fee)s, %(fie)s, %(fo)s)
implement## の 2 番目の引数として渡します。 #)。使用している DB API モジュールの
文字列定数を確認し、
リーリー
パラメータはタプル (a, b, c) で渡されることに注意してください。単一の引数を渡す場合、タプルはコンマ (a,) で終わる必要があります。
(a, b, c)
(a,)
データベース API は変数を適切にエスケープし、引用符で囲みます。文字列フォーマット演算子 (%) は使用しないように注意してください。
%
Python DB-API の実装が異なると、使用できるプレースホルダーも異なるため、どのプレースホルダーを使用しているかを確認する必要があります (おそらく (MySQLdb を使用するなど)):
リーリーまたは (たとえば、Python 標準ライブラリの sqlite3 を使用する):
リーリーまたはその他 (
VALUES
の後には(:1, :2, :3)
または「名前付きスタイル」(:fee, : fie, :fo を指定できます) )
または(%(fee)s, %(fie)s, %(fo)s)
ここでは、マップの代わりに辞書をimplement## の 2 番目の引数として渡します。 #)。使用している DB API モジュールの
paramstyle文字列定数を確認し、
http://www.python.org/dev/peps/pep-0249/ ですべてのパラメータを確認してください。配信スタイル!リーリー
パラメータはタプル
(a, b, c)
で渡されることに注意してください。単一の引数を渡す場合、タプルはコンマ(a,)
で終わる必要があります。データベース API は変数を適切にエスケープし、引用符で囲みます。文字列フォーマット演算子 (
%
) は使用しないように注意してください。エスケープや引用は行いません。-
は、- SQL_injection などの制御されていない文字列フォーマット攻撃に対して脆弱です。