I keep running into an error from the following statement:
cursor.execute("""INSERT into financial_statements (url)
VALUES (%s) WHERE provider=%s AND date=%s""", (url, provider, date))
The error I get is:
_mysql_exceptions.ProgrammingError: (1064, "You have an error in your SQL syntax;
check the manual that corresponds to your MySQL server version for the right syntax to use near
'WHERE provider='ANGEL' AND date='2012-03-01'' at line 2")
asked Apr 25, 2012 at 21:46
David542
112k211 gold badges584 silver badges1.1k bronze badges
2 Answers 2
You can't have a WHERE clause for an INSERT statement.
Maybe you meant to perform an UPDATE?
UPDATE financial_statements
SET url = %s
WHERE provider=%s AND date=%s
answered Apr 25, 2012 at 21:48
Mark Byers
844k202 gold badges1.6k silver badges1.5k bronze badges
Sign up to request clarification or add additional context in comments.
1 Comment
David542
Ahh, forgot about that. Thanks
It makes no sense to use WHERE in an INSERT statement - there is nothing to restrict.
If you want to modify an existing row, use UPDATE:
UPDATE financial_statements SET url=%s WHERE provider=%s and DATE=%s
answered Apr 25, 2012 at 21:48
ThiefMaster
320k85 gold badges608 silver badges648 bronze badges
Comments
default