无法将Northwind SQL文件导入DB Browser for SQLite,报语法错误
解决Northwind SQL脚本导入SQLite的语法错误问题
问题原因
你使用的是MS SQL Server专属的初始化脚本,SQLite无法兼容其中的语法,报错的核心原因包括:
- 开头的
Select * from Shippers属于查询语句,在导入建表脚本的场景下无意义,且后续的MS SQL专属语法会干扰SQLite的解析逻辑 - SQLite不支持
GO、Set nocount on、SET ANSI_NULLS ON这类MS SQL特有的批处理或配置语句 [dbo].[Categories]这种带架构名的方括号命名方式,不符合SQLite的语法规范
修复步骤
- 移除脚本开头的
Select * from Shippers语句 - 批量删除所有单独一行的
GO关键字(这是MS SQL的批处理分隔符,SQLite不识别) - 删除所有SQL Server专属配置行:
Set nocount on、SET ANSI_NULLS ON、SET QUOTED_IDENTIFIER ON - 替换所有架构+表名的写法:把
[dbo].[XXX]改为XXX,SQLite不需要架构名,也不建议用方括号包裹对象名(特殊字符名除外,此时改用双引号) - 适配数据类型:将MS SQL的
nvarchar、nchar改为SQLite的TEXT,datetime改为DATETIME,int可以直接保留
替代方案
如果不想手动修改脚本,可以直接使用SQLite版的Northwind数据库文件,直接在DB Browser for SQLite中打开即可,无需转换语法。
内容的提问来源于stack exchange,提问作者Niño Noel Perez
相关产品推荐
相关产品推荐

