我正在运行Linux并编写代码来在sqlite3中创建和打开数据库。然后代码创建一些带有几个虚拟条目的虚拟表。一旦完成,我就运行
sqlite3 test.db < ./sqliteauto.sql
我的sqliteauto.sql代码如下:
--general settings
.headers on
.mode columns
--people table
.width 3 6 4
select * from PEOPLE;
--state table
.width 3 11 5
select * from STATES;
.quit
这将返回我的两个虚拟表和值,其中包含我在sqliteauto.sql中编码的正确间距和列宽。唯一的问题是表的最后一个条目流入下一个表的列标题。
看起来像这样:
ID1 NAME AGE
----- ------ ----
1 Steve 25
2 Chris 30
ID2 STATE ABRV
----- ------ -----
1 Texas TX
2 Georgia GA
我在sqliteauto.sql代码中添加什么来在表之间插入一个新行,以便在命令提示符下更好地显示,如下所示:
ID1 NAME AGE
----- ------ ----
1 Steve 25
2 Chris 30
ID2 STATE ABRV
----- ------ -----
1 Texas TX
2 Georgia GA
答案 0 :(得分:0)
要使sqlite3
工具输出为空行,请使用命令.print ''
。
答案 1 :(得分:0)
好好经过SQLite页面的大量搜索,我找到了这个..
http://www.sqlite.org/c3ref/mprintf.html
例如,假设字符串变量zText包含文本 如下:
char * zText =“这是快乐的一天!”;可以在SQL中使用此文本 声明如下:
char * zSQL = sqlite3_mprintf(“INSERT INTO table VALUES('%q')”,zText); sqlite3_exec(db,zSQL,0,0,0); sqlite3_free(ZSQL);
问题是如何实施它?我假设您正在从外部文件运行脚本。
正如文档所说mprintf就像C printf一样,你应该可以用它直接打印到输出。
尝试类似
的内容sqlite3_mprintf("___ ____")
当然我可能错了,你必须尝试一下......
大卫