为什么当“ WHERE”条件为数字时,一切正常:
control_date = "11.2018"
sql = """
SELECT date_payment, summa_payment
FROM payment
WHERE control_date = {control}
"""
cur.execute(sql.format(control = control_date))
当符号条件返回错误时,“ OperationalError:无此类列:november_2018”
control_date = "november_2018"
sql = """
SELECT date_payment, summa_payment
FROM payment
WHERE control_date = {control}
"""
cur.execute(sql.format(control = control_date))
答案 0 :(得分:1)
查询将顶部control_date视为数字,因为它仅包含数字字符。由于您没有将底部的control_date放在引号开头的引号("'november_2018'"
)内,因此不会将其视为字符串,因此查询尝试将其解析为列名。