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

MySQL报1054列不存在错误:referral_code查询异常如何解决?

SQL查询报错:Unknown column 'xxx' in 'where clause' 的解决方法

问题背景

执行SELECT * FROM users WHERE user_id=102030;能正常返回包含referral_code为rbNqMtqL的结果,但执行SELECT * FROM users WHERE referral_code="rbNqMtqL";时抛出错误:Column not found: 1054 Unknown column 'rbNqMtqL' in 'where clause'。

核心原因

MySQL默认SQL模式下,双引号"被用于引用标识符(列名、表名等),而非字符串常量。所以语句里的"rbNqMtqL"被数据库误判为列名,导致找不到对应列而报错。

解决方法

  • 方法一:使用单引号包裹字符串值(推荐)
    这是SQL标准的字符串常量写法,所有数据库都兼容,直接修改查询语句:
    SELECT * FROM users WHERE referral_code='rbNqMtqL';
    
  • 方法二:修改MySQL的SQL_MODE配置
    如果习惯使用双引号,可以开启ANSI_QUOTES模式,开启后双引号会被解析为字符串值:
    • 临时生效(仅当前会话或全局,重启MySQL后失效):
      -- 全局生效,新会话会继承
      SET GLOBAL sql_mode = 'ANSI_QUOTES';
      -- 当前会话立即生效
      SET SESSION sql_mode = 'ANSI_QUOTES';
      
    • 永久生效:修改MySQL配置文件(如Linux的/etc/my.cnf,Windows的my.ini),在[mysqld]段添加:
      sql_mode = ANSI_QUOTES
      
      保存后重启MySQL服务即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 15:15:40