
mysql
文章平均质量分 59
段漂亮
这个作者很懒,什么都没留下…
展开
-
记录一次mysql8.0以上版本的only_full_group_by问题
在mysql8.0以上的版本中,对于 group by 的这种聚合操作,如果在select 中的列,没有在group by 中出现,那么这个SQL是不合法的,因为列不在group by的从句中那么如何解决呢,其实很简单,找到mysql的安装目录,在my.ini文件加入下面代码[mysqld]sql_mode=NO_AUTO_CREATE_USER,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO原创 2022-02-14 09:48:12 · 418 阅读 · 0 评论 -
记录一次mysql IFNULL(X,X)失效的情况
今天在处理一个存储过程, 过程中有下面的一段sql, 运行结果应该为0才对而结果确是.....本来这个问题不严重...但是因为这个地方为null一直影响到我存储过程后面的逻辑了.......就是这个游标flag,我一直认为,如果查出来是null,那么这个游标应该会被赋值为null才对而结果却是: 他仍然保留了上次的值,而没有被赋值为null.......折腾了半天,,,,心累........原创 2021-05-26 19:25:11 · 409 阅读 · 0 评论 -
Mysql中explain作用详解
一、MYSQL的索引1、索引(Index):帮助Mysql高效获取数据的一种数据结构。用于提高查找效率,可以比作字典。可以简单理解为排好序的快速查找的数据结构。2、索引的作用:便于查询和排序(所以添加索引会影响where 语句与 order by 排序语句)在数据之外,数据库还维护着满足特定查找算法的数据结构,这些数据结构以某种方式引用数据。这样就可以在这些数据结构上实现高级查找算法。这些数据结构就是索引。索引本身也很大,不可能全部存储在内存中,所以索引往往以索引文件的形式存储在磁盘上。我们平转载 2021-01-18 22:07:45 · 440 阅读 · 0 评论 -
记录一次mysql统计数据将列查出的值转换为行名使用
统计表的结果是以党员为分组,将所有的活动前部已列的形式展示,统计每一个党员参与的各个活动的次数,没有参与为0次需要的最终统计结果预览如下姓名 支部名称 活动1 活动2 活动3 活动4 党员1 党支部名称 1 1 1 1 党员2 党支部名称 0 0 0 1 党员3 党支部名称 0 0 0 2 表结构和数据CREATE TABLE `t_party_ev...原创 2020-12-05 15:20:44 · 2492 阅读 · 4 评论 -
mysql自定义列的ORDER BY 排序规则
select t.* from t_test t order by field(t.name,'集团正职','集团副职','公司正职','公司副职')原创 2020-10-22 14:15:21 · 731 阅读 · 0 评论 -
mysql数据库死锁问题,Navicat修改表的时候,数据库中的一张表打不开也关不上
问题描述在修改一张数据库的表的时候,加了一个字段。然后鼠标指针就一直在转圈,Navicat就未响应。解决方法一般表打不开有三种原因:原因一:表死锁,会出现这样的情况,锁不释放,无论多久都读取不了数据,一直加载中!原因二:表里面的数据量太大造成的。原因三:网络慢,卡,数据不能传输下面介绍一下死锁:一、 什么是死锁死锁是指两个或两个以上的进程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去.此时称系统处于死锁状态或系统产生了死锁,这些转载 2020-08-31 23:55:45 · 1122 阅读 · 1 评论 -
mysql8.0的zip版本windows安装教程(5分钟速装)
因为装了好多次了,索性参考网上自己写一个,下次再装就不用再查了...1. 先官网下载zip安装包,然后解压2. 在解压目录下新建my.ini文件[mysqld]# 设置3306端口port=3306# 设置mysql的安装目录basedir=D:\mysql-8.0.11-winx64 # 切记此处一定要用双斜杠\\,单斜杠我这里会出错,不过看别人的教程,有的是单斜杠。自己尝试吧# 设置mysql数据库的数据的存放目录datadir=D:\mysql-8.0.11-win..原创 2020-08-17 14:50:18 · 6224 阅读 · 0 评论 -
新建mysql数据库的字符集和排序规则配置
原创 2020-07-08 16:28:40 · 595 阅读 · 0 评论 -
The server time zone value ‘�й���ʱ��‘ is unrecognized or represents more than one time zone.
报错原因是因为数据库时区问题Mysql Connector/J 6.x以上的版本,就报了时区的错误在数据库连接后面拼接下面的语句即可&serverTimezone=UTCurl: jdbc:mysql://localhost:3306/oneself?useUnicode=true&characterEncoding=UTF8&useSSL=false&serverTimezone=UTC...原创 2020-07-02 14:20:19 · 574 阅读 · 0 评论 -
mysql解决只能用localhost连接,不能用ip连接的问题
设置允许IP访问,执行语句select host,user from mysql.user;update mysql.user set host = '%' where user = 'root';运行完上面的语句之后,再次执行select host,user from mysql.user; 确认结果flush privileges;测试:连接成功...原创 2020-05-12 15:28:08 · 2595 阅读 · 0 评论 -
MySQL在处理数据库时异常: "Got a packet bigger than 'max_allowed_packet' bytes"
报错原因是因为我在处理数据库数据时有一个列的数据比较长,存的是文章的内容,而mysql默认的长度不够导致打开报错的数据库执行set global max_allowed_packet = 1048576*10;...原创 2020-04-28 20:44:55 · 139 阅读 · 0 评论 -
mysql建表时,使用longtext类型时的问题
这个列之前的text,但发现不是很够.因为text后面可以跟(0),改为longtext时我以为后面的(0)还需要,然后就一直在再报1064 最后网上查了查才发现是这个longtext后面不可以加(0)...原创 2020-04-25 15:40:02 · 5537 阅读 · 0 评论 -
mysql编写一个存储过程,利用游标接收list结果集.批量更新数据
//因为数据库中新增了一列basic_sort ,然后需要根据之前basic_datetime数据中的时间转为时间戳后存入新增的字段中,因为表中数据量有10万+,所以网上查了查写了个存储过程出来,测试通过,10万多条用时不到2分钟create procedure updateSort()beginDECLARE basic_id VARCHAR(32);DECLARE basic...原创 2020-04-11 14:52:28 · 1764 阅读 · 0 评论 -
mysql处理数据时: Got a packet bigger than 'max_allowed_packet' bytes
打开sql查询界面执行下面语句即可:set global max_allowed_packet=524288000;原创 2020-04-11 10:21:02 · 159 阅读 · 0 评论 -
com.jfinal.plugin.activerecord.ActiveRecordException: The attribute name does not exist: XXX
最近刚发现的一个问题:我们在测试环境修改的数据库的表结构,对应的在jfinal对应的base中也加入了新的字段,测试环境全部测试ok之后,发布生产环境时报错:com.jfinal.plugin.activerecord.ActiveRecordException: The attribute name does not exist: XXX,当时就感到很疑惑,重新把服务端发布了之后,项目就正...原创 2019-12-24 11:12:48 · 7331 阅读 · 2 评论 -
关于mysql的timestamp设置默认值问题
我的默认值设置的是CURRENT_TIMESTAMP 代表插入的时候赋值,修改的时候不赋值,但我修改的时候他依然会跟着改,最后发现是不光默认值可以控制时间,这个根据当前时间戳更新这个按钮也可以控制,去掉就好啦...原创 2019-08-29 12:02:14 · 886 阅读 · 0 评论