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

Jak utworzyć dynamiczne zapytanie SQL w czasie wykonywania przy użyciu interfejsu API obiektów Sql JDBI?

JDBI nie nadaje się zbyt dobrze do konstruowania zapytań dynamicznych. IMO całym celem tej biblioteki jest oddzielenie kodu i zapytań SQL tak bardzo, jak to możliwe.

Jednak Twój konkretny przypadek może zostać rozwiązany za pomocą SQL:

COALESCE(:foo, foo) 

jeśli 'foo' jest nazwą kolumny w tabeli, a :foo zmieni się na NULL, to mysql SET będzie efektywnie

SET foo=foo

czyli nic nie zrobi (co jest pożądane w twoim przypadku). Jeśli :foo nie jest null, będzie równoważne z

SET foo=:foo


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wywołanie procedury składowanej MySQL z kontekstu .NET DB rzuca Tylko obiekty MySqlParameter mogą być przechowywane'

  2. SQLNonTransientConnectionException Łączenie z MySQL w środowisku Eclipse

  3. Błędy WAMP/MySQL w niepoprawnym języku

  4. Migracja bazy danych Ruby on Rails bez tworzenia kluczy obcych w tabelach MySQL

  5. Porządek sortowania MySQL według wartości tablicy