を選択します。PythonのMYSQL私は私が動的に値を配置するクエリ機能を持つ動的な値で
query_values = {
"column_value": question["value"],
"value_2": question["value_2"],
"startdate": date_range["start"],
"enddate": date_range["end"]
}
query = (
"SELECT %(column_value)s FROM ga_ad_matched_query "
"WHERE (ga_ad_matched_query LIKE %(value_2)s) AND "
"(stat_date BETWEEN %(enddate)s AND %(startdate)s)"
)
cur.execute(query, query_values)
すべてがうまく動作しますが、私は%(column_values)変数を使用する場合、私は質問の内容を取得します["value"]を列の後ろの実際の値ではなく結果に挿入します。私が%(column_values)変数を使用せず、insted列の通常の名前を使用すると、すべて正常に機能します。 ....しかし、この関数は動的に必要なので、そこに%(column_values)を配置する必要があります。
構文上の間違いがありますか? ご協力いただきありがとうございます。
クエリパラメータとして列名を使用することはできません。カラム名を自分自身でエスケープし、生のクエリ(潜在的に危険です)に挿入するか、すべてのカラムを取得して、それらのうちのいくつかだけを使用する必要があります(私はそうするでしょう)。 – lovasoa
@lovasoaあなたの解決に感謝します。 Works geat! –