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

MySQL列名含连字符用方括号在phpMyAdmin中报错求解决方案

解决MySQL含连字符列名的建表问题

MySQL处理带连字符这类特殊字符的列名时,不能用方括号(那是SQL Server的语法),正确做法是用**反引号(`)**包裹列名,这是MySQL官方规定的标识符转义方式。

举个实际的建表示例:

CREATE TABLE third-party-data (
    `user-id` INT NOT NULL,
    `user-name` VARCHAR(100) NOT NULL,
    `email-address` VARCHAR(200) UNIQUE,
    PRIMARY KEY (`user-id`)
);

为什么之前的方法会报错?

  • 用方括号:MySQL不识别方括号作为标识符的转义符,直接判定为语法错误。
  • 不加任何包裹:MySQL会把列名里的连字符(-)解析成减法运算符,把user-id当成user - id的表达式,自然会报“未知列user”之类的错误。

phpMyAdmin里的额外提示

如果用phpMyAdmin的可视化界面建表,直接输入带连字符的列名即可,系统会自动为你加上反引号;如果是手动写SQL语句,注意反引号是英文键盘上的符号(和波浪号~在同一个键位),别写成中文引号。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 10:51:01