Thanks for the explanation. I got it now. This is one more example that the "S" in SQL was never meant to stand for "Standard" :-)...
Ben On Nov 9, 1:39 pm, jason kirtland <[EMAIL PROTECTED]> wrote: > Bruza wrote: > > By using "%s", does that mean MySQL does not support "binding" of > > parameter > > and will have to pass the entire SQL statement as one text string? > > > c.execute("select * from t_test where c1=%s" % '1234567') > > That should be a comma separating the bind values, not a % format operator: > > c.execute("select * from t_test where c1=%s", '1234567') > > This db-api uses '%s' notation as its placeholder marker. It's > equivalent to '?' or ':foo'. There's a whole mess of different possible > styles in db-api for specifying binds. If you use sqlalchemy's text(), > you can use ':foo' notation cross platform and not have to care about > the db-api's bind implementation or typos like the % above. > > > works, but this means the parameter was first substituted into the > > query string > > (by Python) before sending it to MySQL. I think that is why people > > uses ":c1" > > notation in query so that parameters are sent as binary format > > separated from > > the original query string itself... --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "sqlalchemy" group. To post to this group, send email to sqlalchemy@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sqlalchemy?hl=en -~----------~----~----~----~------~----~------~--~---