sql >> Database teknologi >  >> RDS >> SQLite

selectArgs i SQLiteQueryBuilder virker ikke med heltalsværdier i kolonner

At forespørgselsparametre kun kan være strenge er en frygtelig designfejl i Android-database-API'en.

På trods af hvad dokumentationen siger, bør du kun bruge parametre til faktiske strengværdier; heltalsværdier kan sikkert indlejres direkte i SQL-strengen. (For blobs skal du bruge en funktion, der accepterer ContentValues .)

Bemærk venligst, at selvom SQLite bruger dynamisk indtastning, gør værdier af forskellige typer det ikke sammenligne lig i de fleste tilfælde (SELECT 42='42'; returnerer 0 ).Der er nogle tilfælde, hvor SQLite gør automatisk konverter værdier på grund af type affinitet (i dit tilfælde ville dette ske, hvis du erklærede id kolonne som INTEGER ), men dette er ret kontraintuitivt, så det bør ikke stoles på.



  1. Sådan ændres Change Data Capture (CDC) opbevaringsperiode i SQL Server - SQL Server-vejledning

  2. Spring Boot CRUD Eksempel med MySQL

  3. Sådan installeres MySQL med phpMyAdmin på Debian 7

  4. Hvad er DATALENGTH() i SQL Server?