mysql大小写敏感问题

最近部署项目,遇到mysql版本问题,数据库大小敏感问题,在此记录一下

方法1:修改配置文件

lower_case_table_names = 0时,mysql会根据表名直接操作,大小写敏感。
lower_case_table_names = 1时,mysql会先把表名转为小写,再执行操作。

打开my.cnf文件,在【mysqlId】下加入以下语句后【重启】。

lower_case_table_names = 0 或 lower_case_table_names = 1

方法2:执行存储过程

xxx 改成自己数据库对应的账号,数据库改成自己的,那些需要转换的改成相应的名字

CREATE DEFINER=`xxx`@`%` PROCEDURE `uppercase`(IN dbname VARCHAR(200))
BEGIN

DECLARE done INT DEFAULT 0;

DECLARE oldname VARCHAR(200);

DECLARE cur CURSOR FOR SELECT table_name FROM information_schema.TABLES tt WHERE table_schema = '库名' and tt.table_name LIKE 'tt_%  表名';

DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1;

OPEN cur;

REPEAT

FETCH cur INTO oldname;

SET @newname = UPPER(oldname);

SET @isNotSame = @newname <> BINARY oldname;

IF NOT done && @isNotSame THEN

SET @SQL = CONCAT('rename table `',oldname,'` to `', LOWER(@newname), '_tmp` ');

PREPARE tmpstmt FROM @SQL;

EXECUTE tmpstmt;

SET @SQL = CONCAT('rename table `',LOWER(@newname),'_tmp` to `',@newname, '`');

PREPARE tmpstmt FROM @SQL;

EXECUTE tmpstmt;

DEALLOCATE PREPARE tmpstmt;

END IF;

UNTIL done END REPEAT;

CLOSE cur;

END

注意

如果有权限可以修改mysql的配置,就用第一种,不能就试试第二种。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MySQL数据库的大小写敏感性可以根据配置进行设置。默认情况下,MySQL在Windows操作系统上是不区分大小写的,而在Unix和macOS上是区分大小写的。这是因为在Windows中,文件系统默认是大小写敏感的,而在Unix和macOS中,文件系统默认是大小写敏感的。因此,MySQL大小写敏感性与操作系统和配置有关。 如果想要将已建立的数据库和表从大小写敏感转换为不敏感,可以按照以下步骤进行: 1. 使用mysqldump命令将数据库数据导出。 2. 在my.cnf配置文件中将lower_case_table_names参数设置为1,并重启MySQL数据库。 3. 使用导出的数据将数据库数据导入到MySQL数据库中。 需要注意的是,对于大小写敏感的系统(如Windows和macOS),不能将lower_case_table_names参数设置为0。此外,在Linux默认情况下,数据库名和表名是大小写敏感的,而字段内容和列名是大小写敏感的。如果需要设置匹配字段值大小写敏感,可以使用binary标记或设置校对规则(collate)来实现。 总结起来,MySQL数据库的大小写敏感性可以通过配置文件和设置校对规则来进行控制。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [MySQL| MySQL大小写敏感问题](https://blog.csdn.net/u011479200/article/details/89002141)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [【转】MySQL大小写敏感的解决方案](https://blog.csdn.net/C_chuxin/article/details/122471582)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值