我在 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 语法有错误;请查看与您的 MySQL 服务器版本相对应的手册,以在第 1 行的 ''5'' 附近使用正确的语法”)
但是,如果我在文件中提到限制值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