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';
相关推荐
雨白6 小时前
Java 线程通信基础:interrupt、wait 和 notifyAll 详解
android·java
AAA修煤气灶刘哥7 小时前
后端人速藏!数据库PD建模避坑指南
数据库·后端·mysql
程序新视界8 小时前
学习MySQL绕不开的两个基础概念:聚集索引与非聚集索引
mysql
诺诺Okami10 小时前
Android Framework-Launcher-UI和组件
android
潘潘潘11 小时前
Android线程间通信机制Handler介绍
android
潘潘潘11 小时前
Android动态链接库So的加载
android
RestCloud11 小时前
跨境数据传输:ETL如何处理时区与日期格式差异
mysql·api
RestCloud11 小时前
揭秘 CDC 技术:让数据库同步快人一步
数据库·api
潘潘潘11 小时前
Android多线程机制简介
android
CYRUS_STUDIO13 小时前
利用 Linux 信号机制(SIGTRAP)实现 Android 下的反调试
android·安全·逆向