我正在尝试用python构建一个查询,我正在寻找一种优雅的方法来在字符串中间附加一个WHERE条件:
def get_raw_queryset(frequency=None, where_condition=None):
qs = "SELECT id, COUNT(*) AS count FROM user_transaction_log " \
# I WANT TO APPEND A WHERE ONLY IF not None
if where_condition:
"WHERE .... = 1" \
"GROUP BY type , strftime('{0}', datetime) ORDER BY id" \
.format(frequency)
return qs发布于 2016-06-11 06:12:37
只要您能够安全地计算WHERE字符串,即使where_condition不是字符串,这也是有效的:
"SELECT ..." + bool(where_condition) * ("WHERE ...") + "GROUP ..."我希望您能非常小心地避免SQL注入。
https://stackoverflow.com/questions/37757804
复制相似问题