似乎SQLite C接口创建的数据库不包含documentation中描述的sqlite_master
表:
来自C / C ++程序(或使用Tcl / Ruby / Perl / Python的脚本) 您可以通过执行a来访问表和索引名称 在名为" SQLITE_MASTER"的特殊表上进行SELECT。每个SQLite数据库 有一个SQLITE_MASTER表,用于定义数据库的模式
以下代码创建了一个不包含此类表的数据库(.tables
命令不返回任何内容):
#include <sqlite3.h>
int main()
{
sqlite3* db;
sqlite3_open("helper.db", &db);
sqlite3_close(db);
}
为什么呢?我应该怎么做才能创造它?
答案 0 :(得分:2)
.tables
命令不显示任何内部表,但它们确实存在:
sqlite> create table t(x); sqlite> .tables t sqlite> select * from sqlite_master; table|t|t|2|CREATE TABLE t(x)