我正在打开一个数据库文件,如果它不存在,可能会创建它.
但由于某种原因,这不会创建表.有任何想法吗?
const char* sql = "CREATE TABLE IF NOT EXISTS blocks(id text primary_key,length numeric)";
sqlite3_stmt *stmt;
rc = sqlite3_prepare_v2(db_, create_table_sql, -1, &stmt, NULL);
rc = sqlite3_step(stmt);
Run Code Online (Sandbox Code Playgroud)
我没有在这里得到它是的我正在检查每个点的返回代码.没有错误.
也许有更好的方法来实现这一目标?
MPe*_*ier 13
另一个答案的变化:
select count(type) from sqlite_master where type='table' and name='TABLE_NAME_TO_CHECK';
Run Code Online (Sandbox Code Playgroud)
如果表不存在则返回0,否则返回1.
执行以下SQL:
select 1 from sqlite_master where type='table' and name='TABLE_NAME_TO_CHECK'
Run Code Online (Sandbox Code Playgroud)
如果你得到一行,那么表就存在了.如果结果集为空,则不是.