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

Hvordan opretter jeg en dynamisk SQL-forespørgsel ved kørsel ved hjælp af JDBI's SQL Object API?

JDBI er ikke særlig velegnet til at konstruere dynamiske forespørgsler. IMO hele pointen med dette bibliotek er at adskille kode og SQL-forespørgsler så meget som muligt.

Dog kan din særlige sag løses ved hjælp af SQL:

COALESCE(:foo, foo) 

hvis 'foo' er navnet på kolonnen i tabellen, og :foo vil løses til NULL, så vil mysql SET være effektivt

SET foo=foo

dvs. det vil ikke gøre noget (hvilket er ønsket beavior i dit tilfælde). Hvis :foo ikke er null, vil det svare til

SET foo=:foo


  1. C# MySQL-fejl Kolonneantal stemmer ikke overens med værdiantallet i række 1

  2. Hvilken MySQL-gaffel/version skal du vælge?

  3. Escape af escape-tegnet virker ikke – SQL LIKE Operator

  4. Forståelse og læsning af PostgreSQL-systemkataloget