mysql数据库,字符串使用双引号““导致报错,使用单引号‘‘不报错,Unknown column ‘user-test‘ in ‘where clause‘

文章目录

一、完整报错

txt 复制代码
> 1054 - Unknown column 'user-test' in 'where clause'

二、报错数据

sql 复制代码
SELECT *
FROM config_info
WHERE config_info.data_id="user-test"

三、报错原因

  • 因为sql_mode里面有 ANSI_QUOTES,这个校验模式。所以导致报错
  • ANSI_QUOTES:不能用双引号来引用字符串,因为它被解释为识别符
  • 更改sql_mode详细过程,点击跳转

四、解决方式

1、更改执行sql

sql 复制代码
SELECT *
FROM config_info
WHERE config_info.data_id='user-test'	

2、更改sql数据校验模式(改为默认校验)

sql 复制代码
SET GLOBAL sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';
SET SESSION sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';
相关推荐
服装学院的IT男2 小时前
【Android 13源码分析】Activity生命周期之onCreate,onStart,onResume-2
android
Arms2062 小时前
android 全面屏最底部栏沉浸式
android
服装学院的IT男3 小时前
【Android 源码分析】Activity生命周期之onStop-1
android
ChinaDragonDreamer5 小时前
Kotlin:2.0.20 的新特性
android·开发语言·kotlin
vvvae12346 小时前
分布式数据库
数据库
雪域迷影6 小时前
PostgreSQL Docker Error – 5432: 地址已被占用
数据库·docker·postgresql
bug菌¹7 小时前
滚雪球学Oracle[4.2讲]:PL/SQL基础语法
数据库·oracle
逸巽散人7 小时前
SQL基础教程
数据库·sql·oracle
月空MoonSky7 小时前
Oracle中TRUNC()函数详解
数据库·sql·oracle
momo小菜pa7 小时前
【MySQL 06】表的增删查改
数据库·mysql