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

MariaDB添加数字格式命名列时出现SQL语法错误如何解决?

问题解决方法

语法报错核心原因

  • MariaDB 中列名、表名这类标识符如果是纯数字组合、和SQL关键字重名、或包含特殊字符,不能直接书写,也不能用普通单/双引号包裹(普通引号仅用于标识字符串值),必须使用反引号(`,键盘ESC下方与~同键的符号)包裹才会被识别为合法标识符。
  • 你之前给test列加普通引号也执行失败,就是因为普通引号不属于标识符的合法包裹符号。

正确写法示例

使用反引号包裹数字列名即可正常执行:

ALTER TABLE dates ADD COLUMN IF NOT EXISTS (`20201205` VARCHAR(255));

可选配置说明

如果希望用双引号包裹标识符也能生效,可以开启ANSI_QUOTES SQL模式:

-- 临时生效(当前会话连接有效,断开后重置)
SET sql_mode = 'ANSI_QUOTES';
-- 开启后即可用双引号包裹标识符
ALTER TABLE dates ADD COLUMN IF NOT EXISTS ("20201205" VARCHAR(255));

如果需要永久生效,需要修改MariaDB配置文件中的sql_mode配置项,添加ANSI_QUOTES参数后重启服务即可。

内容的提问来源于stack exchange,提问作者The Coding Penguin

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 19:36:03