You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在命令批处理文件中执行完SQL插入后退出SQLite?

解决SQLite执行数据插入后自动退出的问题

问题根源

你使用-init参数执行初始化脚本时,SQLite默认会在脚本执行完毕后进入交互模式——哪怕脚本里写了.quit或.exit,脚本执行完成后程序仍会自动启动交互会话,所以才会停留在sqlite>提示符。

三种可行解决方案

  • 方案1:添加批处理模式参数(最推荐)
    在命令中加入-batch,强制SQLite以非交互的批处理模式运行,执行完初始化脚本后直接退出:

    sqlite3 -batch -init ./import-all.sql ./database.sqlite
    
  • 方案2:通过标准输入执行脚本
    把脚本内容直接重定向给sqlite3,程序读完所有命令后会自动退出:

    sqlite3 ./database.sqlite < ./import-all.sql
    
  • 方案3:直接在命令行指定所有操作
    不需要单独的import-all.sql文件,把读取脚本和退出命令直接写在一行:

    sqlite3 ./database.sqlite ".read ./things-to-import-001.sql" ".read ./things-to-import-002.sql" ".quit"
    

内容的提问来源于stack exchange,提问作者David Yell

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 18:15:46