文章内容
2019/9/4 9:27:01,作 者: 黄兵
IdenttityServer 4 MySQL数据表存在的一些问题
最近在使用IdentityServer4 数据库使用的是MySQL,在测试的过程中,中间存在很多坑,记录一下,以方便以后排错。
fail: Microsoft.EntityFrameworkCore.Database.Command[20102] Failed executing DbCommand (1ms) [Parameters=[@p0='?' (Size = 4000), @p1='?' (Size = 4000), @p2='?' (Size = 255)], CommandType='Text', CommandTimeout='30'] INSERT INTO `AspNetUserClaims` (`ClaimType`, `ClaimValue`, `UserId`) VALUES (@p0, @p1, @p2); SELECT `Id` FROM `AspNetUserClaims` WHERE ROW_COUNT() = 1 AND `Id` = LAST_INSERT_ID();
这里报错,主要是插入的是中文,没有这个相关的字符集,最主要的特征如下:
Incorrect string value: '\xE5\x85\xB5' for column 'ClaimValue' at row 1
可以参考这篇文章修改相应的字段:(1366, "Incorrect string value: '\\xE5\\xBB\\xBA\\xE7\\xAD\\x91...' for column 'classification_name' at row 1")
修改字段字符集,执行如下SQL:
ALTER TABLE AspNetUserClaims CHANGE ClaimValue ClaimValue longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; ALTER TABLE AspNetUserClaims CHANGE GivenName GivenName longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
同时这张表也需要修改(FamilyName和GivenName字段):
黄兵个人博客原创。
中国男篮的历史上有哪些遗憾?
Your global Angular CLI version (8.2.1) is greater than your local version (7.3.8). The local Angular CLI version is used.
Your global Angular CLI version (8.2.1) is greater than your local version (7.3.8). The local Angular CLI version is used.
评论列表