Ich versuche eine einfache Favoriten-Anwendung zu erstellen, wo Sie Ihre Favoriten-Seiten behalten können (zum Beispiel aus dem Internet).Android SQL - Überprüfen Sie, ob die ganze Zeile bereits in der Datenbank vorhanden ist
Lassen Sie uns sagen, dass ich die folgenden Daten in meiner Datenbank
Title | URL | TAG |
-------------------------------
Hey Ho.com Site
Jo Jo.com Image
Jo Mo.com Image
Jetzt will ich sicherstellen, dass der Benutzer nicht hinzufügen, die gleiche Seite zweimal, also werde ich prüfen, ob der Wert bereits vorhanden sind. Aber ich muss, dass der Benutzer keine Website zu der Tabelle hinzufügt, die bereits hinzugefügt wurde.
Also lassen Sie uns sagen, ich würde versuchen, in den:
Title | URL | TAG |
-------------------------------
Jo Mo.com Image
Dies würde true zurück (für „prüfen, ob Zeile vorhanden ist“, da eine identische Zeile bereits vorhanden ist).
Aber wenn ich hinzufügen würde versuchen:
Title | URL | TAG |
-------------------------------
Jo Go.com Image
Es wäre falsch zurückgeben (wenn der Titel bereits vorhanden ist), weil es keine identische Reihe ist.
Dies ist der Code, wo ich mit meinen Daten in die Datenbank hinzufügen:
public long createNote(String title, String url, String rn) {
ContentValues initialValues = new ContentValues();
initialValues.put(KEY_TITLE, title);
initialValues.put(KEY_URL, url);
initialValues.put(KEY_RN, rn);
return mDb.insert(DATABASE_TABLE, null, initialValues);
Wie kann ich überprüfen, ob eine Zeile existiert bereits in einer Datenbank?
Verwenden 'INTEGER PRIMARY KEY AUTOINCREMENT' ID. Verwenden Sie immer die ID "INTEGER PRIMARY KEY AUTOINCREMENT". Um doppelte Zeilen zu vermeiden, brauchen Sie nur eine 'UNIQUE'-Einschränkung. Siehe diese verwandte Antwort http://stackoverflow.com/a/2701903/792932 – foibs