sql >> Databasteknik >  >> RDS >> Mysql

Kör SELECT ... WHERE ... IN ... med MySQLdb

Tyvärr måste du konstruera frågeparametrarna manuellt, för så vitt jag vet finns det ingen inbyggd bind metod för att binda en list till en IN sats, liknande Hibernates setParameterList() . Du kan dock åstadkomma samma sak med följande:

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)


  1. Använda Oracle Service Names med SQLAlchemy

  2. SQL:hur begränsar jag en join på den första hittade raden?

  3. Hur returnerar jag en uppsättning resultat från ett frågefönster i Oracle SQL Developer?

  4. Ändra användarlösenord i PHP och mySQL