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

在Windows PowerShell中执行SQLite脚本报错:no such column: ostrich

解决SQLite执行CREATE TABLE时的"no such column"错误

问题分析

从错误提示来看,SQLite解析到SELECT "ostrich"时误将ostrich识别为列名而非字符串常量,且前面的"crocodile"被截断为"le",这大概率是文件编码问题导致的——Windows下常见的UTF-8带BOM编码会被SQLite命令行工具误解析,破坏了SQL语句的结构。

解决步骤

1. 修正SQL文件编码

用记事本或其他文本编辑器打开ex.sql:

  • 选择「另存为」,在编码下拉框中选择UTF-8(无BOM)(部分编辑器标注为「UTF-8 without BOM」)
  • 覆盖原文件后重新执行sqlite3 -init ex.sql命令

2. 换用管道传递SQL内容(替代-init参数)

如果不想修改文件编码,可在PowerShell中执行以下命令绕过编码问题:

Get-Content ex.sql -Encoding UTF8 | sqlite3 your_database.db

(将your_database.db替换为你实际要操作的数据库文件名,若文件不存在会自动创建)

3. 确认SQL语句正确性

你的SQL代码本身无语法错误,修正编码或换用管道执行后,以下语句可正常创建animals表:

CREATE TABLE animals AS
    SELECT "dog" AS name, "20" AS weight, 4 AS legs  UNION
    SELECT "cat"         , "10"         , 4          UNION
    SELECT "penguin"     , "300"        , 2          UNION
    SELECT "t-rex"       , "12000"      , 2          UNION
    SELECT "parrot"      , "6"          , 2          UNION
    SELECT "crocodile"   , "10"         , 4          UNION
    SELECT "ostrich"     , "500"        , 2;

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 23:35:08