TABLE nn.values (value TEXT PRIMARY KEY); \
                  
                  
                    INSERT INTO nn.values VALUES ('xxxxxxx');");
                  
                  
                  он отрабатывает успешно
                  
                  
                  
                  
                  
                  но если разнести в разные execSQL:
                  
                  
                   db.execSQL("ATTACH DATABASE ":memory:" as nn");
                  
                  
                   db.execSQL("CREATE TABLE nn.values (value TEXT PRIMARY KEY)");
                  
                  
                   db.execSQL("INSERT INTO nn.values VALUES ('xxxxxxx');")
                  
                  
                  
                  
                  
                  то при выполнении случается вот такой "бамс":
                  
                  
                  android.database.sqlite.SQLiteException: unknown database nn (code 1): , while compiling: CREATE TABLE nn.values (value TEXT PRIMARY KEY)
                  
                  
                  
                  
                  
                  И чот ничего не нагугливается на этот счет.
                  
                  
                  Может кто знает, как сделать чтобы ATTACH жил дольше? Или вернее – как его правильно делать.
                  
                  
                  Пробовал обрамлять в acquireReference/releaseReference – не помогло
                  
                  
                
я не большой спец по базам. Но: 1. Как-то не очень выглядит что ты определеяешь алиас nn в одном запросе, а используешь в другом. 2. db - это уже база разве нет? Зачем надо делать attach. Если хочешь выполнять запросы к другой базе сделай фабрику, в которой будешь получать нужную бд.
Обсуждают сегодня