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

Azure Synapse Analytics表插入多行值遇语法错误,求排查

Azure Synapse Analytics插入数据时的语法错误解决方法

我在Azure Synapse Analytics中使用以下脚本成功创建了表:

CREATE TABLE [PS].[BCGrps](
    [OC] varchar (80) NOT NULL,
    [BID] int NOT NULL,
    [Active] BIT NOT NULL,
    [UniAccess]  BIT NOT NULL,
    [Indus]  BIT NOT NULL
)

然而当我尝试执行以下插入语句时:

INSERT INTO [PS].[BCGrps](OC,BID,Active,UniAccess,Indus)
VALUES 
('xx',200,1,1,1), 
('xxx',202,1,0,1), 
('xxxxx',2000,1,0,1), 
('yy',2030,1,0,0), 
('zz',2002,0,0,1)

收到错误提示:

Parse error at line: 3, column: 22: Incorrect syntax near ','.


错误原因及解决方法

  • 核心原因:若你使用的是Azure Synapse的无服务器SQL池,它不支持VALUES子句后直接跟多行数据的批量插入语法,这是无服务器池与专用SQL池的语法差异之一。
  • 解决方案:将多行VALUES写法替换为UNION ALL拼接查询的方式,修改后的插入语句如下:
INSERT INTO [PS].[BCGrps](OC,BID,Active,UniAccess,Indus)
SELECT 'xx',200,1,1,1 UNION ALL
SELECT 'xxx',202,1,0,1 UNION ALL
SELECT 'xxxxx',2000,1,0,1 UNION ALL
SELECT 'yy',2030,1,0,0 UNION ALL
SELECT 'zz',2002,0,0,1
  • 若使用的是专用SQL池,检查语句是否存在多余逗号或隐藏字符:你的原语句语法本身是正确的,可能是输入时不小心引入了不可见的特殊字符,建议重新复制或手动输入语句后再次尝试。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 07:55:06