我正在使用 FMDB 在 iPhone 上创建 SQLite 数据库。我有一个 initial.sql 的形式
CREATE TABLE Abc ... ;
CREATE TABLE Def ... ;
我通过将文件加载到 NSString 并运行它来加载它
NSString * str = // string from file initial.sql
[db executeUpdate: str];
这成功了,但后来我失败了:
no such table: Def
很明显,第二个语句没有被调用。我该怎么做才能调用所有查询?
根据 SQLite 文档:“例程 sqlite3_prepare_v2()、sqlite3_prepare()、sqlite3_prepare16()、sqlite3_prepare16_v2()、sqlite3_exec() 和 sqlite3_get_table() 接受一个 SQL 语句列表 (sql-stmt-list),它是一个分号-分隔的语句列表。”
所以,这一切都应该奏效。