首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

设置MySQL数据库不区分大小写

如下,我一个Windows下项目移植到Linux环境中就因为MySQL严格区分大小写问题报错: ? ? ?...这个时候怎么办呢,显然改程序是不行,时间上也不允许,所以只能设置MySQL数据库不区分大小写了,大家看以下步骤: 1、查询MySQL是否设置了区分大小写 show variables like "%case...其中lower_case_table_names代表了:0是区分大小写; 1是不区分大小写。显然我这个MySQL是区分大小写。...拓展知识 MySQL在Linux下数据库名、表名、列名、别名大小写规则是这样: 1、数据库名与表名是严格区分大小写; 2、表别名是严格区分大小写; 3、列名与列别名在所有的情况下均是忽略大小写...; 4、变量名也是严格区分大小写MySQL在Windows下都不区分大小写

15.9K21
您找到你想要的搜索结果了吗?
是的
没有找到

MySQL大小写敏感总结

MySQL中,数据库、表、triggers实际上都对应了datadir目录(或子目录)下文件,因此,这些对象名字是否大小写敏感主要是依赖于操作系统和文件系统,因此这些内容在Windows中是大小写是不敏感...、table(包括别名)大小写敏感性可以通过系统参数lower_case_table_names来配置(修改参数值需要重启数据库); lower_case_table_names =0(Unix default...=1(Windows default):大小写不敏感,MySQL将数据全部转化为小写形式存储在磁盘上,而且在查询时候也是全部转化为小写进行比较; lower_case_table_names =2(...5、数据敏感性:由Mysql校对字符集规则来控制(Collation),默认大小写不敏感; 每一个字符型column都有一个“字符集属性(character set)”和一个“校对集属性(collation...可以在数据库对象(server、database、table、column)定义中指定,也可以在SQL语句中使用;可以通过“show variables like 'collation%'”查看数据库级别设置各种

3.5K40

mysql大小写踩坑

设置了mysqld下配置 [mysqld] lower_case_table_names = 1 lower_case_table_names官方文档: https://dev.mysql.com/...翻译过来大致 按大小写敏感存储表名 按小写形式存储表名 比较时不区分大小写大小写敏感存储表名 以小写字母进行比较 他们默认值在不同系统下面有区分 MacOS2 Unix0 Windows1 然后注意...ubuntu下重启mysql服务不是mysqld而是mysql,下面是ubuntu三种重启方式 # 重启服务 service mysql restart; # 重启系统服务 systemctl restart...中表是按照大写表名去查,而我们此处配置,并不是查询时忽略表名大小写,而是全部以小写表名去查询 因此配置了lower_case_table_names = 1后,大写表名用大写sql一律作废匹配不到...这里我们可以使用mysql数据库信息函数去按规则[2]查询出表名转换为小写,再拼接成多条sql 或者使用存储过程、代码处理等方式 这里我使用以下sql: SELECT CONCAT( 'ALTER TABLE

1.5K20

细说MySQL区分字母大小写

在Linux系统上使用MySQLMySQL是区分字母大小写,例如建A表时表名是大写A,修改A表时脚本里写a,就会报错表a不存在。...在MySQL中,数据库对应数据目录中目录,数据库每个表至少对应数据库目录中一个文件或多个文件,所以,是否区分大小写是其所在操作系统决定。...在大多数基于Unix系统中,MySQL是区分大小写;而在Windows系统中,MySQL是不区分大小写。...0表示使用指定大小写字母在硬盘上保存表名和数据库名,并且区分字母大小写;1表示表名在硬盘上以小写保存,MySQL将所有表名转换为小写在存储和查找表上,不区分字母大小写;2表示表名和数据库名在硬盘上使用指定大小写字母进行保存...如果想在Linux系统中修改lower_case_table_names值,让其不区分字母大小写,Google出来操作步骤大部分都是下面这种: 1.以root登录系统 2.cd /etc/mysql

2.5K50

mysql大小写敏感与校对规则

那么mysql大小写敏感是如何控制数据库名,表名,字段名这些字典对象以及字段值大小敏感是如何控制;以及校验规则与索引关系,这是本文要讨论内容。...mysql中控制数据库名和表名大小写敏感由参数lower_case_table_names控制,为0时表示区分大小写,为1时,表示将名字转化为小写后存储,不区分大小写。...在mysql中,数据库对应数据目录中目录。数据库每个表至少对应数据库目录中一个文件(也可能是多个,取决于存储引擎)。因此,所使用操作系统大小写敏感性决定了数据库名和表名大小写敏感性。...1:表名在硬盘上以小写保存,名称比较对大小写不敏感。MySQL将所有表名转换为小写在存储和查找表上。该行为也适合数据库名和表别名。该值为Windows默认值。...2:表名和数据库名在硬盘上使用CREATE TABLE或CREATE DATABASE语句指定大小写字母进行保存,但MySQL将它们转换为小写在查找表上。

5K10

mysql 模糊查询实现不区分大小写

需求说明: 有时候,我们需要从数据库中模糊查询,但是字母有大写也有小写。 1:在执行查询时候,需要忽略大小写。 2:以输入字母开头进行查询 创建表: ? 请点击此处输入图片描述 ?...数据库脚本: CREATE TABLE `base_new_info_abbreviation` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar...请点击此处输入图片描述 假设用户现在要查询name是D或者d开头数据怎么? 解决需求一,忽略大小写。可以先查询大写,在查询小写。然后union 下 先查询出所有小写字母d开头: ?...在查询出所有大写字母D开头 ? 请点击此处输入图片描述 ? 使用union 进行连接。 ? 请点击此处输入图片描述 ? 当然这样也可以得到最终结果。但是这样执行从效率上来说很不好。...同样达到我们需要结果了。

5K20

关于MySQL库表名大小写问题

1.决定大小写是否敏感参数 在 MySQL 中,数据库与 data 目录中目录相对应。数据库每个表都对应于数据库目录中至少一个文件(可能是多个文件,具体取决于存储引擎)。...因此,操作系统大小写是否敏感决定了数据库大小写是否敏感,而 Windows 系统是对大小写不敏感,Linux 系统对大小写敏感。...除此之外,MySQL 还提供了 lower_case_table_names 系统变量,该参数会影响表和数据库名称在磁盘上存储方式以及在 MySQL使用方式,在 Linux 系统,该参数默认为...MySQL 在存储和查找时将所有表名转换为小写。此行为也适用于数据库名称和表别名。 2 库表名以创建语句中指定字母大小写存储在磁盘上,但是 MySQL 在查找时将它们转换为小写。...Linux 系统下默认为 0 即区分大小写,我们来看下 lower_case_table_names 为 0 时数据库具体表现: # 查看参数设置 mysql> show variables like

7.1K32

mysql 大小写敏感一个解决方案

今天,有同事告诉我,我们游戏登陆时候,账号和密码没有区分大小写,后来又发现创建账号和角色也没有区分大小写。思考登陆流程之后,应该是Mysql没有区分大小写敏感问题。      ...在网上查了一下资料,Mysql支持大小写敏感解决方案。发现了几种方案。      ...第一、修改数据库设置,让Mysql支持大小写敏感,这个方案太激进了,数据库数据太多,这样改保不准会出什么问题。      第二、修改表结构和字符集,和第一种方案差不多,但是风险小一点。      ...第三、修改存储过程或者SQL语句,好处是不动数据库结构,缺点是涉及到地方都改。      权衡之后,还是选了第三种方案,只修改登录和创建2个存储过程。     ...体方法是,使用mysqlbinary关键字。      BINARY不是函数,是类型转换运算符,它用来强制它后面的字符串为一个二进制字符串,可以理解为在字符串比较时候区分大小写

96410

在Linux下管理MySQL大小写敏感性

当开发与Linux环境下MySQL数据库交互Java应用程序时,理解MySQL大小写敏感性可以避免潜在错误和问题。...1 理解MySQL大小写敏感性 默认情况下,MySQL在Windows上是大小写不敏感,但在Linux上是大小写敏感。这种差异可能导致不一致性,特别是在迁移数据库或开发跨平台应用程序时。...开发者考虑 在Java应用程序中使用MySQL数据库时,请考虑以下最佳实践来处理大小写敏感性: 一致命名约定: 对数据库对象使用一致命名约定。...数据库迁移: 如果从大小写不敏感系统(如Windows)迁移数据库大小写敏感系统(如Linux),请确保在迁移之前适当配置lower_case_table_names设置。...这种做法有助于保持一致性,并帮助新开发者理解项目的数据库设计。 5 总结 在Linux上管理MySQL大小写敏感性对于开发健壮Java应用程序至关重要。

19900

Confluence 6 数据库整合有关你数据库大小写敏感问题

设置一个新 Confluence 实例 针对新 Confluence 实例,我们建议在你 Confluence 中使用大小写敏感字符集。这个也是绝大多数数据库系统默认使用字符集。...备注:经过数据库被配置为大小写敏感字符集,Confluence 在将用户名存储到数据库之前,还是将用户名自动完全转换为小写字符。...整合已经存在 Confluence 到不同数据库 默认 Confluence 配置使用大小写敏感字符集。这个也是数据库创建默认字符集。...如果你正使用这个字符集配置到新数据库中,我们推荐你在新数据库中也使用大小写敏感字符么。...如果你在新数据库中使用是非大小写敏感字符集,但是你老 Confluence 实例使用大小写敏感字符集的话,你可能在导入时候遇到以一些问题(例如,通过 XML 方式导入)。

47550

MySQL中识别符大小写敏感性学习--MySql语法

本文学习是MySQL中识别符大小写敏感性学习,在MySQL中,数据库对应数据目录中目录。数据库每个表至少对应数据库目录中一个文件(也可能是多个,取决于存储引擎)。...因此,所使用操作系统大小写敏感性决定了数据库名和表名大小写敏感性。这说明在大多数Unix中数据库名和表名对大小写敏感,而在Windows中对大小写不敏感。...注释:尽管在某些平台中数据库名和表名对大小写不敏感,不应在同一查询中使用不同大小写来引用给定数据库或表。...1 表名在硬盘上以小写保存,名称比较对大小写敏感。MySQL将所有表名转换为小写以便存储和查找。该行为也适合数据库名和表别名。该值为Windows和Mac OS X系统中默认值。...2 表名和数据库名在硬盘上使用CREATE TABLE或CREATE DATABASE语句指定大小写进行保存,但MySQL将它们转换为小写以便查找。名称比较对大小写敏感。

97630
领券