mysql8建表时让表大小写敏感
时间: 2023-11-04 21:23:16 浏览: 33
在 MySQL 8 中,可以通过在创建表时指定 COLLATE 参数来实现表大小写敏感。如果要让表大小写敏感,可以使用 COLLATE utf8mb4_bin 参数,示例如下:
```
CREATE TABLE example (
id INT PRIMARY KEY,
name VARCHAR(50)
) COLLATE utf8mb4_bin;
```
这样,在查询表名时,必须使用与创建表时相同的大小写来匹配表名。
相关问题
mysql8设置大小写敏感
### 回答1:
MySQL 8 默认情况下是大小写敏感的,如果你想更改 MySQL 8 的大小写敏感性,可以使用以下两种方法之一:
1. 修改配置文件
在 MySQL 8 的配置文件 my.cnf 或 my.ini 中添加以下行:
```
[mysqld]
lower_case_table_names=1
```
其中 lower_case_table_names 参数的值可以是 0、1、2,分别表示:
- 0:大小写敏感,区分大小写
- 1:表名大小写不敏感,但字段名大小写敏感
- 2:大小写不敏感,不区分大小写
修改完毕后,重启 MySQL 8 服务使配置生效。
2. 修改系统变量
在 MySQL 8 中,可以使用以下命令修改系统变量 lower_case_table_names:
```
SET GLOBAL lower_case_table_names=1;
```
同样,lower_case_table_names 参数的值可以是 0、1、2。
注意,这种方法修改的是全局变量,会影响到所有用户的连接,因此建议在修改前备份数据。修改完毕后,需要重启 MySQL 8 服务才能生效。
需要注意的是,在 MySQL 8 中,如果 lower_case_table_names 参数的值为 0,那么所有表名和字段名都是区分大小写的;如果为 1 或 2,表名是不区分大小写的,但字段名仍然是区分大小写的。因此,在设计数据库表时,应该注意表名和字段名的大小写规范,以避免出现混淆和错误。
### 回答2:
在MySQL 8中设置大小写敏感,可以通过修改配置文件或在创建数据库时进行指定。
1. 修改配置文件:
首先,打开MySQL的配置文件my.cnf(Windows环境下为my.ini)。
找到[mysqld]部分,并添加或修改以下行:
```
lower_case_table_names=2
```
这个参数的值可设置为0、1或2,表示不区分大小写、区分大小写或根据操作系统设置来决定。推荐值为2,即根据操作系统设置。
保存修改后,重启MySQL服务。
2. 创建数据库时指定大小写敏感:
在创建数据库时,可以使用COLLATE指定排序规则及大小写敏感属性。例如,创建一个不区分大小写的数据库:
```
CREATE DATABASE mydatabase CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
```
这里的_collate_指定了排序规则,而_general_ci_表示不区分大小写。如果希望区分大小写,可以选择_general_cs。
无论是修改配置文件还是在创建数据库时指定,都需要谨慎考虑对已有数据库和数据的影响。如果在修改后发现有问题,可以恢复到默认设置或重新创建数据库。
### 回答3:
在MySQL8中,可以通过修改服务器配置文件来设置大小写敏感。
1. 首先,打开MySQL配置文件my.cnf或my.ini,在Windows上通常位于MySQL安装目录的bin文件夹下。
2. 在[mysqld]部分添加或修改下列参数:
lower_case_table_names=0
这个参数控制数据库对象(例如表名、列名等)是否应该区分大小写。设置为0表示大小写敏感,设置为1表示将所有数据库对象名转换为小写,设置为2表示将所有数据库对象名转换为小写,但保留原始的数据库对象名以便引用。
3. 保存并关闭配置文件。
4. 重启MySQL服务器,使配置生效。
请注意,如果你的MySQL服务器上已经有现有的数据库和表,修改这些参数可能会导致一些问题。因此,在进行任何修改之前,请确保备份所有重要的数据库和表数据。
如果你想具体设置某个特定的表大小写敏感,可以在创建表时使用引号括起表名,例如:
CREATE TABLE "MyTable" (...);
这样表名会被视为区分大小写。
总之,通过修改MySQL8的配置文件,你可以轻松设置大小写敏感来满足你的需求。
mysql8 windows平台,配置大小写敏感
在 MySQL 8 中,可以通过在配置文件中设置 `lower_case_table_names` 参数来控制大小写敏感。该参数默认值为 0,表示大小写敏感,但是在 Windows 平台下,建议将该参数设置为 1。
在 Windows 平台下,文件名不区分大小写,因此将 `lower_case_table_names` 设置为 1 可以确保 MySQL 在处理表名时不会出现大小写问题。但是需要注意的是,如果将该参数设置为 1,那么在创建表时表名将会被强制转换为小写,因此需要在 SQL 语句中使用小写表名来确保正确性。
在配置文件中添加以下配置即可:
```
[mysqld]
lower_case_table_names=1
```
保存配置文件后,重启 MySQL 服务使配置生效。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)