Room SQLITE Удалить запрос из нескольких таблиц с помощью JOINS - PullRequest
0 голосов
/ 13 февраля 2020

Привет, ребята, я нахожусь в процессе перемещения моих таблиц и запросов из mysql во внутреннюю базу данных SQLITE внутри приложения andorid.

Когда я копировал свой запрос на удаление в мой DAO, он выдавал ошибку :

DELETE moodBeforeTable, moodAfterTable
FROM moodBeforeTable
JOIN moodAfterTable
ON  moodAfterTable.cbtId = moodBeforeTable.cbtId
WHERE moodBeforeTable.cbtId =: cbtId";

Самое первое слово moodBeforeTable, подчеркнуто красным, и среда IDE указывает на ожидаемое ОТ. Кажется, ему не нравится синтаксис mysql. Я не уверен, как переписать этот запрос. У меня также есть второе удаление из другой таблицы. Можно ли выполнить все эти удаления одним вызовом метода?

Обычно, когда пользователь нажимает кнопку удаления, ему нужно одним щелчком удалить запись из трех отдельных таблиц. Можем ли мы объединить запросы вместе внутри DAO? Если да, может кто-нибудь дать мне простой пример того, как написать это, так как синтаксис отличается от того, к чему я привык

1 Ответ

0 голосов
/ 13 февраля 2020

Проведя дальнейшие исследования, я пришел к выводу, что sqlite не позволяет удалять запросы из нескольких таблиц одновременно.

Чтобы решить эту проблему, я просто настроил три отдельных запроса на удаление, предназначенных для каждой из таблиц, которые я хотел удалить данные из. Когда пользователь нажимает кнопку удаления, все 3 запроса на удаление в DAO выполняются в AsyncTask. Я тщательно проверил это, и оно отлично работает.

Я надеюсь, что этот ответ поможет кому-то еще в будущем.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...