Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Ausführen von SELECT ... WHERE ... IN ... mit MySQLdb

Leider müssen Sie die Abfrageparameter manuell erstellen, da es meines Wissens kein eingebautes bind gibt Methode zum Binden einer list zu einem IN -Klausel, ähnlich der setParameterList() von Hibernate . Sie können jedoch dasselbe mit dem Folgenden erreichen:

Python 3:

args=['A', 'C']
sql='SELECT fooid FROM foo WHERE bar IN (%s)' 
in_p=', '.join(list(map(lambda x: '%s', args)))
sql = sql % in_p
cursor.execute(sql, args)

Python 2:

args=['A', 'C']
sql='SELECT fooid FROM foo WHERE bar IN (%s)' 
in_p=', '.join(map(lambda x: '%s', args))
sql = sql % in_p
cursor.execute(sql, args)