Character set 'utf8mb3_general_ci' cannot be used in conjunction with 'binary' in call to regexp_like.
时间: 2023-12-26 11:06:57 浏览: 38
这个错误通常是由于MySQL的版本问题引起的。在MySQL 8.0之前的版本中,字符集只支持utf8mb3,而在MySQL 8.0及更高版本中,字符集支持utf8mb4。所以,当你在MySQL 8.0及更高版本中使用utf8mb3字符集时,它会出现这个错误。
为了解决这个问题,你可以尝试将字符集更改为utf8mb4。你可以通过修改数据库或表的字符集来实现。
例如,如果你想将数据库的字符集更改为utf8mb4,可以使用以下命令:
```
ALTER DATABASE your_database CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
```
如果你想将表的字符集更改为utf8mb4,可以使用以下命令:
```
ALTER TABLE your_table CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
```
注意,更改字符集可能会影响现有数据,因此在执行此操作之前请备份你的数据。
相关问题
查询报错解决Character set 'utf8mb3_general_ci' cannot be used in conjunction with 'binary' in call to regexp_like.
这个错误通常是由于MySQL数据库的字符集设置不正确导致的。建议修改数据库的字符集为utf8mb4,并将使用到的所有表和字段都修改为utf8mb4字符集。
具体步骤如下:
1. 修改MySQL服务器配置文件my.cnf,在[mysqld]节点下添加以下配置:
```
[mysqld]
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci
```
2. 重启MySQL服务,使配置生效。
3. 修改需要使用utf8mb4字符集的表和字段,例如:
```
ALTER TABLE table_name CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
```
```
ALTER TABLE table_name MODIFY column_name VARCHAR(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
```
注意:如果您的MySQL版本较低,可能需要先升级MySQL版本才能使用utf8mb4字符集。
mysql insert 语句中将字符集排序 utf8mb4_0900_ai_ci 插入 utf8mb3_general_ci
在 MySQL 中,插入字符集和排序规则不匹配的数据会导致数据存储异常,因此在插入数据时需要注意字符集和排序规则的一致性。如果需要将字符集和排序规则不匹配的数据插入到 utf8mb3_general_ci 的表中,可以使用 CONVERT 函数进行转换,具体操作步骤如下:
1. 首先备份你的数据库,以防操作失误导致数据丢失。
2. 进入 MySQL 控制台,并选择要插入数据的数据库,例如:
```
USE your_database_name;
```
3. 创建一个表,字符集和排序规则为 utf8mb3_general_ci,例如:
```
CREATE TABLE your_table_name (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(50)
) CHARACTER SET utf8 COLLATE utf8mb3_general_ci;
```
4. 使用 INSERT INTO 语句插入数据,例如:
```
INSERT INTO your_table_name (name) VALUES (CONVERT('中文', USING utf8));
```
这条语句将会把字符集和排序规则为 utf8mb4_0900_ai_ci 的字符串 '中文' 转换为 utf8mb3_general_ci,然后插入到表中。
5. 再次查询表的数据,确认插入成功。
```
SELECT * FROM your_table_name;
```
注意:使用 CONVERT 函数进行转换时需要指定源字符集,本例中源字符集为 utf8,如果源字符集不同需要根据实际情况进行修改。另外,如果表中包含已经存在的数据,插入数据时需要先将已有数据转换为目标字符集和排序规则,否则可能会出现数据存储异常。