Ich möchte wissen, ob es eine Möglichkeit gibt, Updates in einer Tabelle von SQLite Android-Datenbank zu blockieren. Ich entwickle eine App. Bestimmte Tabellen haben zwei Fremdschlüssel, die eine eindeutige Einschränkung darstellen. Nach dem Einfügen einer Zeile sollte diese Zeile nicht aktualisiert werden. Es kann nur bei Bedarf gelöscht werden. Macht das Sinn für dich? Kann ich meine Tabellen auf diese Weise erstellen? Kennen Sie einen besseren Weg, dies zu programmieren?Blockieren Sie Updates in einer Tabelle SQLite Android
0
A
Antwort
2
Sie eine trigger auf den Tisch legen konnte:
CREATE TRIGGER block_MyTable_update
BEFORE UPDATE ON MyTable
BEGIN
SELECT RAISE(FAIL, "updates not allowed");
END;
+0
Danke CL. Der Auslöser funktioniert gut! Siehe meine Aussagen in meiner Antwort. –
0
Das ist mein create table und Trigger-Anweisungen:
CREATE TABLE
IF NOT EXISTS movie (
_id INTEGER PRIMARY KEY,
adult INTEGER NOT NULL,
backdrop_path TEXT,
belongs_to_collection INTEGER,
budget INTEGER,
homepage TEXT,
imdb_id TEXT,
original_language TEXT NOT NULL,
original_title TEXT NOT NULL,
overview TEXT NOT NULL,
popularity REAL NOT NULL,
poster_path TEXT NOT NULL,
release_date TEXT NOT NULL,
revenue INTEGER,
runtime INTEGER,
status TEXT,
tagline TEXT,
title TEXT NOT NULL,
video TEXT NOT NULL,
vote_average REAL NOT NULL,
vote_count INTEGER NOT NULL);
CREATE TABLE
IF NOT EXISTS genre (
_id INTEGER PRIMARY KEY,
name TEXT NOT NULL);
CREATE TABLE
IF NOT EXISTS movie_genre (
_id INTEGER PRIMARY KEY AUTOINCREMENT,
movie_id INTEGER NOT NULL,
genre_id INTEGER NOT NULL,
FOREIGN KEY (movie_id) REFERENCES movie(_id) ON UPDATE RESTRICT,
FOREIGN KEY (genre_id) REFERENCES genre(_id) ON UPDATE RESTRICT,
CONSTRAINT contrstraint_movie_genre_unique
UNIQUE (movie_id, genre_id) ON CONFLICT ROLLBACK);
CREATE TRIGGER
IF NOT EXISTS triger_movie_genre_update
BEFORE
UPDATE OF movie_id, genre_id ON movie_genre
BEGIN
SELECT RAISE(FAIL, "UPDATES NOT ALLOWED")
END;
Dies funktioniert gut löst. Vielen Dank!
Verwandte Themen
- 1. SQLite-Tabelle in Android erstellen
- 2. aktualisieren SQLite Tabelle in Android
- 3. SQLite - Sortieren einer Tabelle
- 4. Keine solche Tabelle (Android SQLite)
- 5. Android - SQLite Tabelle Fehler erstellen
- 6. Android SQLite - Primärschlüssel - Einfügen in Tabelle
- 7. SQLite-Datenbank - kann keine Updates sehen
- 8. SQLite Spalte an einer bestimmten Position in Tabelle einfügen (Android)
- 9. Alle Spalten einer SQLite-Tabelle in Android zurückgeben
- 10. SQLite Erstellen Sie Tabelle mit mehreren Primärschlüssel in Android
- 11. So blockieren Sie bestimmte URLs in Android
- 12. SQL Periodic Tabelle Updates
- 13. Sortieren einer gesamten SQLite-Tabelle
- 14. android sqlite Tabelle erstellen, wenn nicht vorhanden
- 15. SQLite-Auslöser in Android?
- 16. Update-Probleme in SQLite Tabelle
- 17. Android und SQLite - Max ID einer Tabelle abrufen
- 18. android erron in sqlite
- 19. Löschen Sie die einzelnen in SQLite Android
- 20. Android sqlite Update-Tabelle immer zurück 0
- 21. Blockieren Sie alle Vollbild-App Android (ROOT)
- 22. "Keine Tabelle gefunden" Android SQLite Ausgabe
- 23. Große MySQL-Tabelle tägliche Updates?
- 24. Normale Tabelle vs virtuelle Tabelle SQLite DB
- 25. Importieren Sie SQLite-Datenbank in Android-Emulator
- 26. findet fehlende Zeilen einer SQLite-Tabelle
- 27. Android: Erstellen einer SQLite-Datenbank mit einer Beziehung
- 28. SQLite zum Löschen aller Datensätze in einer Tabelle
- 29. Android SQLite:
- 30. android sqlite bidirektionale Synchronisation sqlite
Verwenden Sie einen [Auslöser] (http://www.tutorialspoint.com/sqlite/sqlite_triggers.htm) –
nicht sicher, warum Sie eine Tabelleneinschränkung dafür benötigen. Achten Sie darauf, dass Sie nirgendwo in Ihrem Code "update" aufrufen. – njzk2