sql >> Databasteknik >  >> RDS >> SQLite

selectionArgs i SQLiteQueryBuilder fungerar inte med heltalsvärden i kolumner

Att frågeparametrar bara kan vara strängar är ett hemskt designfel i Androids databas API.

Trots vad dokumentationen säger bör du bara använda parametrar för faktiska strängvärden; heltalsvärden kan säkert bäddas in direkt i SQL-strängen. (För blobbar måste du använda en funktion som accepterar ContentValues .)

Observera att medan SQLite använder dynamisk typning, gör värden av olika typer inte det jämför lika i de flesta fall (SELECT 42='42'; returnerar 0 ).Det finns vissa fall där SQLite gör konvertera automatiskt värden på grund av typaffinitet (i ditt fall skulle detta hända om du deklarerade id kolumn som INTEGER ), men detta är ganska kontraintuitivt, så det bör inte förlitas på.



  1. Hur väljer man rader som har dagens tidsstämpel?

  2. Hur lägger jag till index i MySQL-tabeller?

  3. Får Oracle PL/SQL serverns IP v4?

  4. ange korrekt användarnamn och lösenord, hämta ORA-01017:ogiltigt användarnamn/lösenord; inloggning nekad