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

执行INSERT INTO批量插入语句时报SQL command not properly ended错误如何解决?

SQL批量插入报错排查结果

你使用的INSERT ... VALUES (值组1), (值组2)批量插入语法仅适配MySQL、PostgreSQL、SQL Server 2008及以上版本,若你当前使用的是Oracle、低版本SQL Server、Access等数据库,该语法不被支持,就会触发SQL command not properly ended报错。

可直接使用的兼容解决方案

方案1:全数据库兼容的UNION ALL拼接写法

无需逐行执行单条插入,所有关系型数据库都支持该语法:

INSERT INTO L5_DIRECTORS (director_id, first_name, last_name)
SELECT 1010, 'Rob', 'Minkoff'
UNION ALL SELECT 1020, 'Bill', 'Condon'
UNION ALL SELECT 1050, 'Josh', 'Cooley'
UNION ALL SELECT 2010, 'brad', 'bird'
UNION ALL SELECT 3020, 'lake', 'bell';

方案2:Oracle专属批量插入写法

如果确认用的是Oracle数据库,可使用原生的INSERT ALL语法,执行效率更高:

INSERT ALL
INTO L5_DIRECTORS (director_id, first_name, last_name) VALUES (1010, 'Rob', 'Minkoff')
INTO L5_DIRECTORS (director_id, first_name, last_name) VALUES (1020, 'Bill', 'Condon')
INTO L5_DIRECTORS (director_id, first_name, last_name) VALUES (1050, 'Josh', 'Cooley')
INTO L5_DIRECTORS (director_id, first_name, last_name) VALUES (2010, 'brad', 'bird')
INTO L5_DIRECTORS (director_id, first_name, last_name) VALUES (3020, 'lake', 'bell')
SELECT * FROM dual;

方案3:MySQL/PostgreSQL/SQL Server 2008+场景排查

如果用的是支持多值组插入的数据库仍报错,检查语句前后是否有多余的不可见字符、括号/分号是否写错,修正后原语法可以正常运行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.15 16:57:05