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

Hvad er formålet med String[] whereArgs i int delete (String table, String whereClause, String[] whereArgs) funktion?

Som dokumentationen siger, bruges den til ? markører i din forespørgselsstreng. Du kan f.eks. bruge dette:

SQLiteDatabase.delete("users", "user_name = ?", new String[] {"Talib"});

Brugen af ​​parametermarkører er meget vigtig for at undgå SQL-injektion. For eksempel,

SQLiteDatabase.delete("users", "user_name = ?", new String[] {"' OR '' = '"});

vil ikke slette alle rækker i din tabel, men hvis du naivt gjorde det

SQLiteDatabase.delete("users", "user_name = '" + userName + "'");

og userName blev sat til "' OR '' = '" , det ville virkelig ødelægge hele dit bord.



  1. Hvordan opretter jeg en fremmednøgle i SQL Server?

  2. Hvordan kan jeg se, hvornår en MySQL-tabel sidst blev opdateret?

  3. Sådan får du SQL Server-statistikoplysninger ved hjælp af systemstatistiske funktioner

  4. postgresql databaseejer kan ikke få adgang til databasen - Ingen relationer fundet.