在sqlite提示符下运行以下命令:
.headers on; SELECT _id,_data,parent FROM files where _data like '%Pictures%'
将得到一个错误:
Usage: .headers on|off
但是一个接一个地运行两个命令可以很好地工作。将多个命令合并到一行中的正确方法是什么?
cld4siwp1#
“.header”是sqlite3命令工具的命令,而不是SQL本身。您不能以您希望的方式将sqlite3命令与SQL组合。
qhhrdooz2#
好的,这个搜索结果和lucky1928的评论让我注意到这对所有普通shell都有效
echo '.headers on SELECT _id,_data,parent FROM files where _data like '\''%Pictures%'\'' ' | sqlite3 mydatabase.db
多行参数必须提供给echo命令,它不能作为sqlite3命令的直接参数,因为sqlite3不支持在命令行上使用单个参数执行多行sqlite3命令。但是,这也是可行的:
sqlite3 mydatabase.db '.headers on' 'SELECT _id,_data,parent FROM files where _data like '\''%Pictures%'\''
也就是说,将行作为sqlite3命令行的单独参数。
2条答案
按热度按时间cld4siwp1#
“.header”是sqlite3命令工具的命令,而不是SQL本身。您不能以您希望的方式将sqlite3命令与SQL组合。
qhhrdooz2#
好的,这个搜索结果和lucky1928的评论让我注意到这对所有普通shell都有效
多行参数必须提供给echo命令,它不能作为sqlite3命令的直接参数,因为sqlite3不支持在命令行上使用单个参数执行多行sqlite3命令。
但是,这也是可行的:
也就是说,将行作为sqlite3命令行的单独参数。