Mysql
 sql >> Base de données >  >> RDS >> Mysql

Exécution de SELECT ... WHERE ... IN ... en utilisant MySQLdb

Malheureusement, vous devez construire manuellement les paramètres de requête, car pour autant que je sache, il n'y a pas de bind intégré méthode pour lier une list à un IN clause, similaire à setParameterList() d'Hibernate . Cependant, vous pouvez accomplir la même chose avec ce qui suit :

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)