0

もしそうなら、どうすればこれを行うことができますか?

4

2 に答える 2

2

プリペアドステートメントを実行すると、新しいSQLは生成されません。プリペアドステートメントの考え方は、SQLクエリとそのデータが別々に送信されることです(そのため、引数をエスケープする必要はありません)。クエリは、準備後に最適化された形式でのみ保存される可能性があります。

于 2010-05-11T11:31:15.623 に答える
1

準備済みステートメントを作成すると、「テンプレート」SQL コードが DBMS に送信され、式ツリーにコンパイルされます。値を渡すと、対応するライブラリ (あなたの場合は python sqlite3 モジュール) は値をステートメントにマージしません。DBMS が行います。

それでも通常の SQL 文字列を生成したい場合は、文字列置換関数を使用してプレースホルダーを値で置き換えることができます (エスケープした後)。

これは何のために必要ですか?

于 2010-05-11T11:39:19.013 に答える