mysql使用遇到的问题 This version of MySQL doesn't yet support 'LIMIT & IN/ALL/ANY/SOME subquery' 解决办法

Linux下Mysql中文显示成问号的问题

1、打开Linux窗口,启动mysql。

2、连接mysql输入show variables like '%character%'; 出现如下图,这样的话在linux下操作mysql会出现中文乱码,所以我们要解决这个问题。

image_1cu8j0gsjq6q6rd1cte5lt1954m.png-19.6kB

3、关闭mysql,找到/etc/mysql/mysql.conf.d/mysqld.cnf 配置文件

4、编辑文件,指令:vim,在 [mysqld] 下面添加一行代码

character_set_server= utf8

image_1cu8j21hj2g51jb71dbg58g17ma13.png-9.3kB

5、重启mysql服务:

service mysql stop;
service mysql status;
service mysql start;

6、连接mysql,输入命令show variables like '%character%';
显示变为utf8,则表示修改成功。再操作mysql数据库就不会初心中文乱码。

注意:若不成功,则看下配置文件的位置是否正确。

 /etc/mysql 下有个my.cnf,里面指向的文件路径 就是配置文件的路径:!includedir /etc/mysql/mysql.conf.d/

扩展知识:

image_1cu8j8d0baou1v471fic1kh011471t.png-22.4kB

This version of MySQL doesn't yet support 'LIMIT & IN/ALL/ANY/SOME subquery' 解决办法

在对mysql数据,进行以下Linq查询时报错,

var newsIds = _db.NewsComment.OrderByDescending(c => c.AddTime).GroupBy(c => c.NewsId).Select(c => c.Key).Take(topCount);
var list = _db.News.Include("NewsClassify").Include("NewsComment").Where(c => newsIds.Contains(c.Id))
.Where(where).OrderByDescending(c => c.PublishDate);

 foreach (var news in list)

改为

var newsIds = _db.NewsComment.OrderByDescending(c => c.AddTime).GroupBy(c => c.NewsId).Select(c => c.Key).Take(topCount).ToList();
var list = _db.News.Include("NewsClassify").Include("NewsComment").Where(c => newsIds.Contains(c.Id))
.Where(where).OrderByDescending(c => c.PublishDate);

 foreach (var news in list)

参考:This version of MySQL doesn't yet support 'LIMIT & IN/ALL/ANY/SOME subquery' 解决办法

猜你喜欢

转载自www.cnblogs.com/peterYong/p/12242872.html
今日推荐