Skip navigation links

MySQL Forums :: Connector/Python :: Python/Connect and Placeholders


Advanced Search

Python/Connect and Placeholders
Posted by: Shu Chow ()
Date: March 01, 2013 02:45AM

Maybe this is too late in the evening, but this is driving me nuts. I have an SQL statement with one placeholder:

sql = ("SELECT * FROM source AS s INNER JOIN bar AS B ON B.id = bar WHERE s.name = %s")

cursor = conn.cursor()
cursor.execute(sql, (source))

I always get an SQL error: mysql.connector.errors.ProgrammingError: 1064 (42000): 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 '%s' at line 1

However, when I modify the where clause to take the same variable twice, it works as intended.

sql = ("SELECT * FROM source AS s INNER JOIN bar AS B ON B.id = bar WHERE s.name = %s OR s.name = %s")

cursor = conn.cursor()
cursor.execute(sql, (source, source))


Anyone with an idea of what's going on?



Edited 2 time(s). Last edit at 03/01/2013 02:46AM by Shu Chow.

Options: ReplyQuote


Subject Written By Posted
Python/Connect and Placeholders Shu Chow 03/01/2013 02:45AM
Re: Python/Connect and Placeholders Geert Vanderkelen 03/12/2013 05:47AM
Re: Python/Connect and Placeholders hai zhang 05/03/2013 12:50AM


Sorry, you can't reply to this topic. It has been closed.

Content reproduced on this site is the property of the respective copyright holders. It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.