MySQLdb select
Sibylle Koczian
Sibylle.Koczian at Bibliothek.Uni-Augsburg.de
Wed Aug 4 05:03:49 EDT 2004
Dennis Lee Bieber schrieb:
> On Tue, 03 Aug 2004 15:02:21 +0200, Sibylle Koczian
> <Sibylle.Koczian at Bibliothek.Uni-Augsburg.de> declaimed the following in
> comp.lang.python:
>
>
>
>>I'm quite surprised that it works the other way - but it does. Could it
>>be that previous versions of MySQLdb raised an exception with the other form
>>
>
>
> Well, from the MySQLdb code itself, we have these little
> comments...
>
> -=-=-=-=-=-=-
> def literal(self, o):
> """
>
> If o is a single object, returns an SQL literal as a string.
> If o is a non-string sequence, the items of the sequence are
> converted and returned as a sequence.
>
> Non-standard.
>
> """
I don't see where "literal" comes into this?
> -=-=-=-=-=-=-
> def execute(self, query, args=None):
>
> """Execute a query.
>
> query -- string, query to execute on server
> args -- optional sequence or mapping, parameters to use with
> query.
>
> Note: If args is a sequence, then %s must be used as the
> parameter placeholder in the query. If a mapping is used,
> %(key)s must be used as the placeholder.
>
> Returns long integer rows affected, if any
>
> """
That would confirm that a single string or number is not a correct args
parameter, wouldn't it? There is nothing here like "if args is no
sequence, it is treated as a tuple of length one" - but this seems to be
what happens.
Koczian
More information about the Python-list
mailing list