私はdjangoで未加工のmysqlクエリを制限付きで使用しています(制限は動的で、Urlに記載されています)。
cursor.execute("some select query limit %s " , [limit_value] )
この制限値は URL から取得され、www.asd.com/qwe/?limit=5
この値をキャッチする limit_value=request.GET.get('limit')
と、この制限値を出力すると 5 が出力されます。これは、URL から制限値を取得できることを意味しますが、上に示したように選択クエリで言及した場合です。エラーがスローされます
(1064、「SQL 構文にエラーがあります。1 行目の ''5'' 付近で使用する正しい構文については、MySQL サーバーのバージョンに対応するマニュアルを確認してください」)
しかし、上で示したように、ファイルの制限値について言及しlimit_value=5
、それを選択クエリで使用すると機能します。
したがって、URLで言及してファイルにキャッチすると、選択クエリの制限が機能しないことを意味します。なぜ?または、私が見逃しているものはありますか?
私のクエリ:
SELECT DISTINCT
A.entity_id AS entity_id,
A.email AS email,
A.catquizid AS style_quiz_score,
A.catquizquesans AS style_quiz_answer,
A.created_at AS date_joined,
A.is_active AS is_active,
B.attribute_id AS attribute_id,
B.value AS info
FROM customer_entity AS A
inner join customer_entity_varchar AS B on A.entity_id=B.entity_id
WHERE B.attribute_id
limit %s