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

MySQL中CREATE TABLE POSITION报ERROR 1064的原因咨询

为什么MySQL中无法用POSITION作为表名创建表?

POSITION是MySQL的保留关键字,它是MySQL内置的字符串函数,作用是查找子字符串在目标字符串中的位置(用法和LOCATE()类似)。

当你直接把保留关键字用作表名、列名这类自定义标识符时,MySQL会把它当成SQL语法的一部分解析,而不是你要创建的表的名称,所以会触发ERROR 1064语法错误。

如果一定要用这个名称作为表名,有两种可行方案:

  • 用反引号(`)将表名包裹,让MySQL将其识别为自定义标识符:
CREATE TABLE `POSITION`(
    ID INT AUTO_INCREMENT PRIMARY KEY,
    NAME CHAR(2) NOT NULL
);
  • 给表名添加前缀或后缀,比如改为POSITIONS、T_POSITION,避开保留关键字即可正常执行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 04:25:54