在 ASP.NET Core 中使用 MySql 踩坑记录

使用 Pomelo.EntityFrameworkCore.MySql 生成 MySQL 数据库

关于如何使用请查看项目文档即可 组件地址:https://github.com/PomeloFoundation/Pomelo.EntityFrameworkCore.MySql

问题描述

遇到的是在使用 CodeFirst 生成数据库的字符集编码问题 执行迁移命令:Add-Migration 版本 , Update-Database 生成数据库(若无自动创建)的字符集为 latin1 -- cp1252 West European 此字符集将会在生成查询语句包含中文的时候报如下错误

异常信息

Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8mb4_bin,COERCIBLE) for operation '='MySql.Data.MySqlClient.MySqlException (0x80004005): Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8mb4_bin,COERCIBLE) for operation '=' ---> MySql.Data.MySqlClient.MySqlException (0x80004005): Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8mb4_bin,COERCIBLE) for operation '='

解决方案

其实组件最开始就建议了设置字符集为:utf8mb4(MySQL5.5.3及以上),所以遇到上诉错误只需要执行修改数据库字符集命令即可

  • 手动创建字符集为utf8mb4的数据库再执行迁移
  • 命令修改字符集:alter database 数据库名称 character set utf8mb4;,但是注意这并不能修改已创建的表的字符集编码;故还是建议手动创建数据库。

相关命令

  • 查看MySQL数据库字符集:show variables like 'character_set_database';
  • 修改MySQL数据库字符集:alter database 数据库名称 character set utf8mb4;

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏王硕

原 PostgreSQL基于时间点恢复(PITR)实验记录

3949
来自专栏王磊的博客

T-Sql备份还原数据库

代码如下: -- 备份数据库 BACKUP DATABASE 数据库名称 TO DISK = '物理存储位置' WITH FORMAT,CHECKSUM ...

3148
来自专栏乐沙弥的世界

MySQL 通用查询日志(General Query Log)

    同大多数关系型数据库一样,日志文件是MySQL数据库的重要组成部分。MySQL有几种不同的日志文件,通常包括错误日志文件,二进制日志,通用日志,慢查询日...

4213
来自专栏pydata

mysql使用总结

create database sina default character set utf8mb4 collate utf8mb4_unicode_ci; ...

932
来自专栏杨建荣的学习笔记

外部表简单总结(r3笔记第51天)

对于外部表的使用而言,可能是既陌生又熟悉的感觉,说陌生可能自己真正的使用机会要少一些,而熟悉可能是大家比较常用的通过外部表来查看数据库日志,其实外部表还有更丰富...

28311
来自专栏乐沙弥的世界

MySQL 二进制日志(Binary Log)

    同大多数关系型数据库一样,日志文件是MySQL数据库的重要组成部分。MySQL有几种不同的日志文件,通常包括错误日志文件,二进制日志,通用日志,慢查询日...

1012
来自专栏散尽浮华

分布式监控系统Zabbix-3.0.3-完整安装记录(1)

分布式监控系统Zabbix-3.0.3的安装记录 环境说明 zabbix-server:192.168.1.30     #zabbix的服务端(若要监控本机,...

25010
来自专栏企鹅号快讯

Access+Mssql+Mysql 手工注入基本流程

0x01 Access 注入 ? 判断表名:adminand (select count(*) from admin)>0判断字段名:username,pass...

2205
来自专栏散尽浮华

mysql主从同步(3)-percona-toolkit工具(数据一致性监测、延迟监控)使用梳理

在mysql工作中接触最多的就是mysql replication,mysql在复制方面还是会有一些常规问题,比如主库宕机或者从库宕机有可能会导致复制中断,通常...

50210
来自专栏Albert陈凯

2018-07-12 Oracle for update和for update nowait的区别Oracle for update和for update nowait的区别

原版排版太难看了看着闹眼睛。 https://www.cnblogs.com/quanweiru/archive/2012/11/09/2762223.htm...

962

扫码关注云+社区

领取腾讯云代金券