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

如何解决DBeaver对正确SQL代码报语法错误的问题?

DBeaver合并执行SQL报错的解决方法

问题现象

在DBeaver中,两段SQL代码单独选中执行(Ctrl+Enter)均正常,但合并后执行时抛出语法错误:

SQL Error [1064] [42000]: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'TRUNCATE TABLE vms_drop_down'

两段正常的SQL示例:
第一段插入数据:

-- =====================================================================
-- ✅ Default data for vms_access_levels
-- =====================================================================
INSERT IGNORE INTO vms_access_levels (id, access_name, created_at, updated_at, created_by, updated_by)
VALUES
    (1, 'Administrator', NOW(), NOW(), 'system', 'system');

第二段清空表:

-- =====================================================================
-- ✅ Default data for vms_drop_down
-- =====================================================================

TRUNCATE TABLE vms_drop_down;

解决方法

  • 检查语句分隔符与格式
    确保两段SQL之间用分号;正确分隔,同时检查代码中是否存在不可见的特殊字符(比如全角空格、异常换行符),可以把代码复制到纯文本编辑器(如Notepad++)中查看并清理。

  • 开启多语句执行权限

    1. 打开DBeaver,找到对应的MySQL连接,右键选择“编辑连接”
    2. 在弹出的窗口中切换到“SQL编辑器”标签页
    3. 找到“SQL执行”区域,勾选**“允许执行多个语句”**选项
    4. 保存设置后重新执行合并后的SQL
  • 使用脚本执行方式
    不要用选中后按Ctrl+Enter的方式,而是直接按F5(DBeaver默认的脚本执行快捷键)来运行整个SQL脚本,这种方式更适合处理多语句的批量执行。

  • 检查注释与语句的兼容性
    虽然单独执行没问题,但合并后某些注释格式可能干扰语句解析,尝试去掉两段代码之间的长横线注释,仅保留必要的注释内容后再执行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 05:38:20