Sto utilizzando FMDB per creare un database SQLite su iPhone. Ho un initial.sql che ha la formaPiù query non in esecuzione in FMDB
CREATE TABLE Abc ... ;
CREATE TABLE Def ... ;
che carico questa caricando il file in un NSString ed eseguirlo
NSString * str = // string from file initial.sql
[db executeUpdate: str];
Questo succede ma in seguito ho un fallimento:
no such table: Def
E 'chiaro che la seconda istruzione non viene chiamato. Come posso fare in modo che tutte le query vengano chiamate?
Secondo la documentazione SQLite: "Le routine sqlite3_prepare_v2(), sqlite3_prepare(), sqlite3_prepare16(), sqlite3_prepare16_v2(), sqlite3_exec(), e sqlite3_get_table() accettare una lista di un'istruzione SQL (SQL-stmt-list) che è un elenco di dichiarazioni separate da punto e virgola. "
Quindi, tutto dovrebbe funzionare.
Vedere https://github.com/ccgus/fmdb/issues/59 – luqmaan