У меня есть некоторый Java-код, над которым я работаю, и у меня возникла странная проблема.
У меня есть одна главная таблица, которая использует rowid в качестве первичного ключа и содержит запись. Эта запись вставляется, а затем обновляется по мере необходимости. Это все отлично работает.
У меня есть три другие таблицы, в которых хранятся данные, относящиеся к первой таблице, и на которые ссылается rowid в первой таблице.
Моя проблема в том, что когда пришло время обновить данные в других таблицах, я обычно удаляю все записи, связанные с первичным идентификатором, а затем вставляю их заново.
Однако при этом, кажется, не всегда вставляются записи? хотя данные определенно отправляются в драйвер sqlite. Проблема также непоследовательна, иногда она добавляет все записи в цикле, иногда добавляет две, и, наконец, иногда не добавляет ни одной ... Это связано со мной, удаляя записи и вставляя их заново? (на самом деле не имеет смысла) ... или что-то еще полностью?
С учетом следующего запроса:
16.03 21:32:43 [Server] INFO [Database] Query Was: DELETE FROM faction_members WHERE faction_id='1';
16.03 21:32:43 [Server] INFO [Database] Query Was: INSERT INTO faction_members VALUES('1','0f448831-477e-3e62-87aa-bbbdbb2d28ed','0');
Тогда вторая таблица данных:
16.03 21:32:43 [Server] INFO [Database] Query Was: DELETE FROM faction_ranks WHERE faction_id='1';
16.03 21:32:43 [Server] INFO [Database] Query Was: INSERT INTO faction_ranks VALUES('1','0','Leader');
16.03 21:32:43 [Server] INFO [Database] Query Was: INSERT INTO faction_ranks VALUES('1','1','General');
16.03 21:32:43 [Server] INFO [Database] Query Was: INSERT INTO faction_ranks VALUES('1','2','Officer');
16.03 21:32:43 [Server] INFO [Database] Query Was: INSERT INTO faction_ranks VALUES('1','3','Member');
16.03 21:32:43 [Server] INFO [Database] Query Was: INSERT INTO faction_ranks VALUES('1','4','Recruit');
Результат, который записывается в базу данных:
sqlite> select * from faction_members; <-no results
sqlite> select * from faction_ranks;
1|0|Leader
1|1|General
1|2|Officer
sqlite>
Есть предположения? Кажется, я не сталкиваюсь с этой проблемой, используя подход вставки / обновления, но когда я удаляю записи, то вставляю новые строки, которые не делают это надежно в таблицу.
Об ошибках не сообщается