Я хочу знать, есть ли способ блокировать обновления в таблице из базы данных SQLite android. Я разрабатываю приложение. В определенной таблице есть два внешних ключа, которые являются уникальным ограничением. После установки строки эту строку не следует обновлять. При необходимости он может быть удален. Имеет смысл для вас? Могу ли я создавать таблицы таким образом? Знаете ли вы, как лучше это кодировать?Блокировать обновления в таблице SQLite Android
0
A
ответ
2
Вы можете поставить trigger на стол:
CREATE TRIGGER block_MyTable_update
BEFORE UPDATE ON MyTable
BEGIN
SELECT RAISE(FAIL, "updates not allowed");
END;
+0
Спасибо CL. Триггер работает отлично! См. Мои заявления в моем ответе. –
0
Это мой создать таблицу и триггер заявления:
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;
Это вызывает отлично работает. Благодаря!
Смежные вопросы
- 1. вопросы обновления в SQLite таблице
- 2. строка обновления sqlite Android
- 3. колонка обновления с номерами в таблице sqlite
- 4. Обновление Android sqlite не сделано в таблице
- 5. Метод обновления SQLite для Android
- 6. Обновления Android QuickAction и SQLite
- 7. Ошибка обновления Java Sqlite Android
- 8. Блокировать SMS в android
- 9. Удалить последнюю строку в таблице SQLite android
- 10. Return Count (*) в Android SQLite таблице
- 11. Android sqlite: получить количество строк в таблице?
- 12. Android вставить несколько строк в таблице SQLite
- 13. ОШИБКА ОБНОВЛЕНИЯ SQLITE DATABASE В ANDROID
- 14. ошибка в таблице обновления
- 15. В Oracle, способ обновления не блокировать строки?
- 16. Вложенный запрос обновления в SQLite
- 17. Android SQLite: использование onUpgrade для обновления данных?
- 18. ошибка оператора обновления sqlite для Android
- 19. Метод обновления SQLite для Android не обновляется
- 20. данные обновления в sqlite
- 21. оператор обновления в SQLITE
- 22. Android SQLite метод обновления базы данных
- 23. Строка обновления Android SQLite не работает
- 24. Обновление Android GridView после обновления Sqlite
- 25. Android: Изменение БД SQLite на обновления
- 26. Android SQLite: значения обновления не работают
- 27. ORMlite подключиться к существующей таблице Sqlite Android
- 28. Блокировать исходящие SMS в Android
- 29. Блокировать входящие тексты (Android)
- 30. Android sqlite - объект обновления удаляет его
Используйте [триггер] (http://www.tutorialspoint.com/sqlite/sqlite_triggers.htm) –
Не знаете, зачем вам нужно ограничение таблицы для этого. просто убедитесь, что вы никогда не вызываете «обновление» в любом месте вашего кода. – njzk2