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
-~----------~----~----~----~------~----~------~--~---

Reply via email to