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';
相关推荐
qq_333120971 分钟前
Sql Server数据库远程连接访问配置
数据库
yaodong5183 分钟前
PostgreSQL_安装部署
数据库·postgresql
eEKI DAND17 分钟前
SQL美化器:sql-beautify安装与配置完全指南
数据库·sql
nbwenren24 分钟前
MySQL中日期和时间戳的转换:字符到DATE和TIMESTAMP的相互转换
数据库·mysql
SPC的存折32 分钟前
10、Docker容器故障排查
linux·运维·数据库·docker·容器
heRs BART40 分钟前
Redis简介、常用命令及优化
数据库·redis·缓存
NiKick1 小时前
MySql中的事务、MySql事务详解、MySql隔离级别
数据库·mysql·adb
gmaajt1 小时前
mysql如何检查数据库表是否存在损坏_使用CHECK TABLE命令修复
jvm·数据库·python
heRs BART2 小时前
【Flask】四、flask连接并操作数据库
数据库·python·flask
Lucifer三思而后行2 小时前
一次 Oracle RAC 归档告警排查
数据库·oracle