sql >> Database teknologi >  >> RDS >> Mysql

Udfører SELECT ... WHERE ... IN ... ved hjælp af MySQLdb

Desværre er du nødt til manuelt at konstruere forespørgselsparametrene, for så vidt jeg ved, er der ingen indbygget bind metode til at binde en list til en IN klausul, der ligner Hibernates setParameterList() . Du kan dog opnå det samme med følgende:

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. Hvordan sletter man en bestemt række fra mysql-tabel med samme kolonneværdier?

  2. emulerede forberedte udsagn vs rigtige forberedte udsagn

  3. initdb:kunne ikke ændre tilladelserne til mappen på Postgresql-beholderen

  4. Sådan fejlfinder du ORA-02049 og låser problemer generelt med Oracle