Clickhouse CLI执行多值INSERT报错:Multi-statements are not allowed
解决ClickHouse CLI执行多值INSERT语句的语法错误问题
错误原因
你遇到的Code: 62错误是因为ClickHouse CLI默认禁用了多语句执行,虽然你的INSERT语句语法本身符合规范,但CLI默认会将带多个值组的写法识别为多语句,从而触发限制。
可行解决方案
方案1:启动CLI时开启多语句支持
启动ClickHouse客户端时添加--multiquery参数,允许执行包含多值组的查询:
clickhouse-client --multiquery
进入CLI后直接执行原INSERT语句即可:
INSERT INTO t VALUES (1, 'Hello, world'), (2, 'abc'), (3, 'def');
方案2:改用换行分隔的单值组写法
无需修改CLI启动参数,将每个值组单独换行(去掉值组间的逗号):
INSERT INTO t VALUES (1, 'Hello, world') (2, 'abc') (3, 'def');
这种写法属于ClickHouse支持的标准单语句格式,CLI默认可以正常解析。
验证数据插入
执行完插入后,可通过以下语句确认数据是否成功写入:
SELECT * FROM t;
内容的提问来源于stack exchange,提问作者White Cat
相关产品推荐
相关产品推荐

