Code Life

boris1993的个人博客

最近项目开发时遇到了一个错误,内容是
Illegal mix of collations (utf8_unicode_ci,IMPLICIT) and (utf8_general_ci,IMPLICIT) for operation '='
经查是关联查询时两个表的排序规则 (collation) 不同导致的。

阅读全文 »

使用如下 SQL 语句即可更新一张表的字符集 (character set) 和排序规则 (collation):

1
2
-- 此处假设使用utf8字符集,以及使用utf8_unicode_ci排序规则
ALTER TABLE `table_name` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;

然后可以使用如下 SQL 查询表和列的字符集和排序规则是否修改成功:

1
2
3
4
5
6
7
8
9
-- 查询表的信息
SELECT `TABLE_SCHEMA`, `TABLE_NAME`, `TABLE_COLLATION`
FROM `information_schema`.`TABLES`
WHERE `TABLE_NAME` = 'table_name';

-- 查询表中每个列的信息
SELECT `TABLE_SCHEMA`, `TABLE_NAME`, `COLUMN_NAME`, `COLLATION_NAME`
FROM `information_schema`.`COLUMNS`
WHERE `TABLE_NAME` = 'table_name';

刚才久违的暴哭了一场。

嘛,其实也没暴走多久,满打满算,也就暴走了一个刘强东那么久。

无奈,最近一段时间里,发生了太多闹心的事。

有多闹心呢?你想想,能让一个网瘾少年连游戏都不想玩了,你就想这是有多闹心吧。

已经不记得上次哭是什么时候了,甚至,已经忘了该怎么哭了。

我说我连该怎么引导自己哭出来,都是查的知乎,你信吗。

当然也不是没来由的就哭了,主要还是最近心力交瘁,最后因为一件屁事情绪爆发了。

您要是想看个来龙去脉呢,那就继续往下,看我这个祥林嫂的絮叨吧。

阅读全文 »

这篇文章主要介绍如何使用 Docker 在本机搭建一个带有主从复制功能的 Redis 环境,内容包括涉及的目录结构、docker-compose.yml 的编写,以及结果的验证。

阅读全文 »

栈帧是支持 JVM 进行方法调用和执行的数据结构,它是 JVM 运行时的数据区域的栈元素,其中包含了方法的局部变量表、操作数栈、动态链接方法,和返回地址等信息。

阅读全文 »

JVM 在运行时,会按照程序执行的需要来创建一系列的运行时数据区域。有的区域只会随 JVM 起停而被创建和销毁,有的区域则会独立分配给各个线程,并随线程的起停而创建和销毁。这些运行时区域,按照功能和性质不同,会分成如下几部分:

阅读全文 »

做技术,不能只知其然而不知其所以然。在知道了工具的原理之后,才能更高效的使用这个工具。在程序的世界里,源码里面没有秘密,看懂了源码,也就看懂了原理。

这次就来阅读一下 ArrayList 的源码。

阅读全文 »

注解是 Java 5 引入的一个新特性,它提供了一个用来将信息和元数据与程序元素相关联的能力,其作用如同一个修饰符,本身并不包含任何程序逻辑。

本文将介绍如何创建和使用自定义的注解。

阅读全文 »
0%