sqlite3.OperationalError:函数的参数个数错误

时间:2015-12-01 03:56:18

标签: python sqlite

我在运行下面的脚本时遇到了这个错误,该脚本遍历我表格中的每一列并返回每个列的最高价格。注:我缩短了这个问题的列数。

import sqlite3

sqlite_file = 'foo.db'
conn = sqlite3.connect(sqlite_file)
c = conn.cursor()
column = ['AAC', 'AAD', 'ABC', 'ABP', 
          'AGL', 'AHG', 'AHY', 'AIO', 
          'ALL', 'ALQ', 'ALU', 'AMC']
for i in range(len(column)):
    c.execute("SELECT max(%s) FROM prices" % (column[i]))
    print (column[i], c.fetchall())
conn.close()

脚本打印8个结果然后我收到错误?

输出:

AAC [('1.495',)]
AAD [('2.50',)]
ABC [('4.455',)]
ABP [('2.98',)]
AGL [('16.86',)]
AHG [('4.25',)]
AHY [('1.70',)]
AIO [('8.75',)]
sqlite3.OperationalError: wrong number of arguments to function max()

请帮忙!

1 个答案:

答案 0 :(得分:1)

ALL是SQLite中的关键字。 (https://www.sqlite.org/lang_keywords.html

您需要引用它以使您的查询正常运行(请参阅上面的链接)。