On 6/6/2010 8:29 AM, James Mills wrote:
On Mon, Jun 7, 2010 at 1:07 AM, Victor Subervi<victorsube...@gmail.com> wrote:
Hi;
I tried this:
cursor.execute('drop table tmp%s', tmpTable)
and got this error:
You can only use MySQLdb's parameter substitution for
parameters that are in quotes.
Right:
namewanted = "Smith"
cursor.execute("SELECT name, id FROM tab WHERE name = %s",
(namewanted,))
generates the SQL:
SELECT name, id FROM tab WHERE name = "Smith";
which is valid SQL.
Wrong:
tmpTable = "01"
cursor.execute('drop table tmp%s', tmpTable)
generates the SQL:
drop table tmp"01"
which is not valid SQL.
MySQLdb has no idea what the statement says; it just quotes and escapes
anything it replaces into a "%s" placeholder.
John Nagle
--
http://mail.python.org/mailman/listinfo/python-list