Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Wykonywanie SELECT ... WHERE ... IN ... przy użyciu MySQLdb

Niestety trzeba ręcznie skonstruować parametry zapytania, ponieważ z tego co wiem, nie ma wbudowanego bind metoda wiązania list do IN klauzula, podobna do funkcji setParameterList() w Hibernate . Możesz jednak osiągnąć to samo w następujący sposób:

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wstawka Mysql nie działa i nie podaje błędów

  2. ten sam zalogowany użytkownik przypisał różne identyfikatory sesji (w różnych przeglądarkach)

  3. Jak wyłączyć ścisły tryb SQL w MySQL 5.7?

  4. Jak sprawić, by wyszukiwanie wartości logicznych pełnego tekstu wychwyciło termin C++?

  5. Zapytanie CodeIgniter:Jak przenieść wartość kolumny do innej kolumny w tym samym wierszu i zapisać aktualny czas w oryginalnej kolumnie?