Hugh's Blog

MySQL 组合索引使用

关于组合索引的使用,作个记录。 组合索引是指一个索引中包含多个列,当查询条件包含多个列时,需要注意左前缀原则,即查询的条件需要严格按照索引列的顺序,否则将不会完全使用到索引。 测试基础表: create table `test` ( `id` int(11) unsigned not null auto_increment, `A` i...

MySQL 5.7 group by 问题

最近在使用 MySQL 碰到一个问题: ERROR 1055 (42000): Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'test.post.id' which is not functionally d...

MySQL 分段统计

今天碰到一个有意思的题目,关于分段统计的,例如统计成绩在 1-10,11-20,21-30… 的人数,利用 ceil 函数一条语句就能解决。 -- 建立测试表 create table class( name VARCHAR(255) NOT NULL, score INT NOT NULL ); insert into class(name,...

Docker + MySQL 主从环境

只是简单的搭建环境进行测试,做个记录。 MySQL 配置 建立相应的 cnf 配置文件,注意 server_id 需要保证唯一。 master/my.cnf [mysqld] server_id=1 log-bin=mysql-bin read-only=0 ## 指定同步数据库 # binlog-do-db=example ## 忽略同步数据库 #...

MySQL 交集、并集与差集

最近碰到一个简单的需求:获取多个分类下的文章,中间有个关联表;有点类似于根据分类表与文章表获取交集 (关联表) 的情况,过程也简单,作下记录。 使用以下的数据来测试: mysql> SELECT * FROM `table_a`; +----+------+ | id | name | +----+------+ | 1 | a | | ...

MySQL 保存 4 字节字符问题

今天在保存内容到数据库的时候报如下错误: Incorrect string value: '\xF0\xA2\xB9\x82\xE5\xB8...' for column 'content' at row 1 本来还以为是多出来非法字符或者字符编码的问题,但试过了都不是,而 \xF0\xA2\xB9\x82\xE5\xB...

MySQL 笔记(持续更新)

中文乱码 # 登录 mysql -u root -p # 查看目前所有编码 mysql> show variables like 'char%'; 会显示类似下面的信息: +--------------------------+-------------------------------+ | Variable_name ...