SQL OperationalError: near "%": syntax error when using inserting values into a table with "executemany"
SQL OperationalError: near "%": syntax error when using inserting values into a table with "executemany"
我一直在尝试使用以下代码将值插入 table:
top10_strong_beers.values.tolist() =
[['Surly Brewing Company', 'Abrasive Ale', 2020, 1],
['Modern Times Beer', 'Blazing World', 2020, 2],
['Sixpoint Craft Ales', 'Hi-Res', 2020, 3],
['Southern Star Brewing Company', 'Red Cockaded Ale', 2020, 4],
['Tallgrass Brewing Company', 'Ethos IPA', 2020, 5],
['Caldera Brewing Company', 'Hopportunity Knocks IPA', 2020, 6],
['Mike Hess Brewing Company', 'Habitus (2014)', 2020, 7],
['Oskar Blues Brewery', 'GUBNA Imperial IPA', 2020, 8],
['Renegade Brewing Company', 'Redacted Rye IPA', 2020, 9],
['Sockeye Brewing Company', 'Dagger Falls IPA', 2020, 10]]
query = """
INSERT INTO strong_beer_competition
(brewery,beer,year,ranking)
VALUES (%s,%s,%s,%s)
"""
cur.executemany(query, top10_strong_beers.values.tolist())
conn.commit()
我收到以下错误:
OperationalError Traceback (most recent call last)
<ipython-input-47-e3e92e2c1d6f> in <module>
11 """
12
---> 13 cur.executemany(query, top10_strong_beers.values.tolist())
14 conn.commit()
OperationalError: near "%": syntax error
我不确定如何解决这个问题。我一直在寻找为什么会出现此错误,但它似乎与我查找的其他代码相似。谁能帮忙?任何能让我更接近解决这个问题的东西都会受到赞赏。谢谢。
好吧,我在查找另一个问题的解决方案时无意中找到了答案。我应该使用“?”而不是“%s”。
我没有意识到 SQL 有不同的版本,我显然正在使用 SQLite3,它使用“?”而不是“%s”。希望这能帮助像我这样的白痴。
我一直在尝试使用以下代码将值插入 table:
top10_strong_beers.values.tolist() =
[['Surly Brewing Company', 'Abrasive Ale', 2020, 1],
['Modern Times Beer', 'Blazing World', 2020, 2],
['Sixpoint Craft Ales', 'Hi-Res', 2020, 3],
['Southern Star Brewing Company', 'Red Cockaded Ale', 2020, 4],
['Tallgrass Brewing Company', 'Ethos IPA', 2020, 5],
['Caldera Brewing Company', 'Hopportunity Knocks IPA', 2020, 6],
['Mike Hess Brewing Company', 'Habitus (2014)', 2020, 7],
['Oskar Blues Brewery', 'GUBNA Imperial IPA', 2020, 8],
['Renegade Brewing Company', 'Redacted Rye IPA', 2020, 9],
['Sockeye Brewing Company', 'Dagger Falls IPA', 2020, 10]]
query = """
INSERT INTO strong_beer_competition
(brewery,beer,year,ranking)
VALUES (%s,%s,%s,%s)
"""
cur.executemany(query, top10_strong_beers.values.tolist())
conn.commit()
我收到以下错误:
OperationalError Traceback (most recent call last)
<ipython-input-47-e3e92e2c1d6f> in <module>
11 """
12
---> 13 cur.executemany(query, top10_strong_beers.values.tolist())
14 conn.commit()
OperationalError: near "%": syntax error
我不确定如何解决这个问题。我一直在寻找为什么会出现此错误,但它似乎与我查找的其他代码相似。谁能帮忙?任何能让我更接近解决这个问题的东西都会受到赞赏。谢谢。
好吧,我在查找另一个问题的解决方案时无意中找到了答案。我应该使用“?”而不是“%s”。
我没有意识到 SQL 有不同的版本,我显然正在使用 SQLite3,它使用“?”而不是“%s”。希望这能帮助像我这样的白痴。