I'm getting this error message
cursor.execute(query, variables)
psycopg2.errors.SyntaxError: syntax error at end of input
My code
data = {
'country': data['country'][x],
'year': data['year'][x].astype(float),
'month': data['month'][x].astype(float)
}
db_connection.execute(
f"""
INSERT INTO my_table (country, year, month) VALUES (%(country)s, %(year)s, %(month)s) ON CONFLICT (country, year, month)
""",
data,
)
1 Answer 1
You're missing a conflict_action in your sql statement. See https://www.postgresql.org/docs/current/sql-insert.html#:~:text=ON%20CONFLICT%20DO%20NOTHING%20simply,can%20perform%20unique%20index%20inference. for details.
EG You might want ON CONFLICT (country, year, month) DO NOTHING
answered Dec 2, 2022 at 23:35
TerryA
60.2k11 gold badges122 silver badges148 bronze badges
Sign up to request clarification or add additional context in comments.
Comments
default