【问题标题】:Error with .output in sqlite3sqlite3 中的 .output 错误
【发布时间】:2015-09-04 22:57:23
【问题描述】:

我收到以下错误

conn = sqlite3.connect('./mydb.db')
c = conn.cursor()
c.execute('.output ./mytable.sql')
conn.close()

c.execute('.output ./mytable.sql') sqlite3.OperationalError: near ".": 语法错误

【问题讨论】:

    标签: python sqlite


    【解决方案1】:

    那是因为 .output 是命令行 sqlite 工具的命令。它不是有效的 SQL 命令。因此,当您通过库使用 sqlite 时不能使用它,只能通过命令提示符交互。

    https://www.sqlite.org/cli.html 中列出的所有 shell 命令都不能工作,因为它们与 sqlite 本身完全不同。您可以将它们视为 GUI 程序的一部分——通过库访问 GUI 程序中的某些内容是没有意义的。

    您要做的是自己获取数据并自己解析并以您想要的方式输出。 另一种选择是调用 sqlite shell 并传递您希望它执行的命令。比如:

    sqlite3 < '.output FILE \n SELECT * FROM TABLE'
    

    (这是未经测试的......)

    【讨论】:

    • 有没有办法在 python 中做到这一点?
    猜你喜欢
    • 2015-05-02
    • 2022-01-25
    • 2016-11-03
    • 2012-07-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-18
    相关资源
    最近更新 更多