业务开发(一)—— MySQL
0x01、SQL异常Incorrect string value
java.sql.SQLException: Incorrect string value: '\xE6\x88\x91\xE7\x9A\x84...' for column 'groupName'
修改数据库表的编码以及表中字段的编码,改为utf-8
0x02、mysql,获取当前时间几小时或几天之前的时间
select date_sub(now(), interval 1 hour);
0x03、Data truncation: Truncated incorrect DOUBLE value
com.mysql.jdbc.MysqlDataTruncation: Data truncation: Truncated incorrect DOUBLE value:
update user set pay_password = #{payPassword},salt = #{salt} where id = #{id}
update设置的值之间用,而不是and
0x04、数据库满了或者连接拒绝
重启本地数据库服务器或者找方法解决数据库满了的问题
0x05、没有合适的驱动
java.sql.SQLException: No suitable driver found for jdbc:mysql:
0x06、数据库查询缓慢
之前修改过一个表,它原先的思路是先在一个表中选出20条记录,然后再与多个表进行联表查询,而我改完之后呢,是将第一个表中所有记录都和多个表联表查询完之后,再选出20条记录,最后因为第一个表有上万条数据,查询一次都要两分多钟。
所以联表查询时,一定要缩小表的范围,让小表来联大表。
0x07、Column 'rule_id' in field list is ambiguous
例如两个表中都有rule_id这个字段,你指定rule_id的时候,必须指明a表还是表rule_id
0x08、权限问题
显示当前用户权限
mysql> show grants;
给某个用户权限
grant select,insert,update,delete,create,drop on `management`.* to 'xxxx'@'%';
0x09、使用show grants命令显示有创建修改表的权限,而在navcat上报 ERROR1005、1060错误
原因是/mnt/data/mysql文件夹的权限没有设置。
0x10、1040 Too many connections
find / -name my.cnf 或 cd /etc/my.cnf
将最大连接数增大,由500改为5000然后重启mysql,解决问题
max_connections=500
service mysqld restart
0x11、在navcat上修改表的id为自增,但使用插入语句还是会提示id没有默认值
field id doesnt have a default value
解决方法:在navcat上改变了表的字段或者结构,需要点击保存,否则不能生效。
0x12、SQL语句错误,提示:"#1241 - Operand should contain 1 column(s)"错误
select a.id from
(
select * from user where nickname is not null and head_image_url is not null
)a
join weixin_user b
on a.id = b.user_id
where a.id
not in(
select * from coupon_record a
join coupon b
on a.coupon_id = b.id
where send_type = 2)
将select * from coupon_record a中的*改为id
0x13、Got error 28 from storage engine
数据库出现这个提示,表示mysql的磁盘满了。运行tomcat时可能会出现,控制台日志卡在一个mysql查询记录上。
解决方法就是清理磁盘。
0x14、Every derived table must have its own alias
select * from (
(
select rule_id,rule_name,owner_id,category_id,average_score,downloads from rule_details
where owner_id = 'xxxxx'
order by RAND() desc limit 12)
union
(
select rule_id,rule_name,owner_id,category_id,average_score,downloads from rule_details
where category_id = (select category_id from rule_details where rule_id = 'xxxxx')
and rule_id <> 'xxxxxx'
order by RAND() desc limit 12)
每个派生出来的表都必须有一个自己的别名
改成
(
select rule_id,rule_name,owner_id,category_id,average_score,downloads from rule_details
where owner_id = 'xxxxx'
order by RAND() desc limit 12
)
union
(
select rule_id,rule_name,owner_id,category_id,average_score,downloads from rule_details
where category_id = (select category_id from rule_details where rule_id = 'xxxxx')
and rule_id <> 'xxxxxx'
order by RAND() desc limit 12
)
0x15、显示没有数据库的驱动,启动数据库服务
重启mysql服务
/etc/init.d/mysqld stop
/etc/init.d/mysqld start
0x16、按权重排序
1.select * from tbl_actor order by (follower_count+Recommend_weight)*weight_ratio desc limit 3;
2.order by (follower_count+Recommend_weight)*weight_ratio
3.可用于根据权值,做推荐列表用。
1、同样的登录代码,我这边可以正常登录,同事那边不断重定向,无法登陆成功
原因是,shiro的账号权限设置,如果账号未激活,会循环重定向。
<mvc:interceptors>
<mvc:interceptor>
<mvc:exclude-mapping path="/Manage/"/>
</mvc:interceptor>
</mvc:interceptors>
2、Controller层以JSON的形式返回一个List对象,如果这个对象是null,前端则接收不到。
解决方法
return list == null ? new ArrayList<Object>() : list;
9 You can't perform any operations on this connection. It has been automatically closed by Proxool for some reason
跟数据库服务器的配置有关,一般重启几次就好,尤其是如果一个函数有加事务,你在调试的过程中很容易出现这个报错。
10 修改xml文件,不管怎么修改,在服务器上得到的结果都是不对的
原因很可能是所做的修改没有生效,在服务器上修改xml文件,必须重启才能生效。
14 发送验证码不能发送成功,返回100001,(云之讯)
解决方法:根据已有的信息去查100001所代表的意思,http://docs.ucpaas.com/doku.php?id=rest_error,
原因是账户的余额不足,所以不能发送短信。
15 控制台提示找不到类
1、maven install 一下
2、很可能是配置文件的路径不对,比如说xml中类的路径。
业务开发(一)—— MySQL的更多相关文章
- 云计算+SaaS+业务开发平台=JSAAS云平台
我关注Google的代码托管.Open API,我也关注Oracle会把MYSQL怎么样云数据库化,我也虚拟化技术多实例化独立的数据库,我也关注facebook的平台插件应用架构,我也关注salesf ...
- 带货直播源码开发采用MySQL有什么优越性
MySQL是世界上最流行的开源关系数据库,带货直播源码使用MySQL,可实现分钟级别的数据库部署和弹性扩展,不仅经济实惠,而且稳定可靠,易于运维.云数据库 MySQL 提供备份恢复.监控.容灾.快速扩 ...
- SpringCloud Alibaba实战(5:子模块基本业务开发)
源码地址:https://gitee.com/fighter3/eshop-project.git 持续更新中-- 在上一节里,我们搭建了一个微服务项目的整体架构,并进行了版本控制. 接下来我们进一步 ...
- 使用ThinkPHP开发中MySQL性能优化的最佳21条经验
使用ThinkPHP开发中MySQL性能优化的最佳21条经验讲解,目前,数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显.关于数据库的性能,这并不只是DBA才需要担心的事,而这更 ...
- python 全栈开发,Day117(popup,Model类的继承,crm业务开发)
昨日内容回顾 第一部分:权限相关 1. 权限基本流程 用户登录成功后获取权限信息,将[权限和菜单]信息写入到session. 以后用户在来访问,在中间件中进行权限校验. 为了提升用户体验友好度,在后台 ...
- 百度王一男: DevOps 的前提是拆掉业务-开发-测试-运维中间的三面墙
这是一个创建于 375 天前的主题,其中的信息可能已经有所发展或是发生改变. 由数人云.优维科技.中生代社区联合发起的 系列 Meetup < DevOps&SRE 超越传统运维之道&g ...
- 复杂业务下向Mysql导入30万条数据代码优化的踩坑记录
从毕业到现在第一次接触到超过30万条数据导入MySQL的场景(有点low),就是在顺丰公司接入我司EMM产品时需要将AD中的员工数据导入MySQL中,因此楼主负责的模块connector就派上了用场. ...
- 一个让业务开发效率提高10倍的golang库
一个让业务开发效率提高10倍的golang库 此文除了是标题党,没有什么其他问题. 这篇文章推荐一个库,https://github.com/jianfengye/collection. 这个库是我在 ...
- 使用golang对海康sdk进行业务开发
目录 准备工作 开发环境信息 改写HCNetSDK.h头文件 开发过程 基本数据类型转换 业务开发 参考 项目最近需要改造升级:操作海康摄像头(包括登录,拍照,录像)等基本功能.经过一段时间研究后,发 ...
- 设计模式之美学习(九):业务开发常用的基于贫血模型的MVC架构违背OOP吗?
我们都知道,很多业务系统都是基于 MVC 三层架构来开发的.实际上,更确切点讲,这是一种基于贫血模型的 MVC 三层架构开发模式. 虽然这种开发模式已经成为标准的 Web 项目的开发模式,但它却违反了 ...
随机推荐
- dhcp服务简单配置
dhcp服务搭建 注意事项: > 配置虚拟机虚拟网络编辑器,取消"使用本地DHCP服务将IP地址分配给虚拟机" > 虚拟机网络连接设置为"仅主机模式" ...
- BAT:通过连接符处理判断OR的关系
使用情况说明: 适用于对某个文件夹下不同的文件夹(名称)做不同的处理,但存在需要对其中多个文件夹(名称)进行相同处理的情况 例子中的目录结构: .\1.2.3 -- 文件夹.\a.b.c -- 文件夹 ...
- robotframework 远程连接数据库问题
今天在使用RF远程连接数据库时出现报错的问题,因为我发现只安装databaselibrary跟PyMsql的话,连接本地的数据库是OK的,但是如果我们的测试机性能有限,那么既要编写代码.运行测试.还有 ...
- iOS 数据归档----温故而知新
#import "StudyViewController.h" #import "person.h" @interface StudyViewControlle ...
- MFC单文档视图程序简介
在视图应用程序中,应用程序的数据由文档对象代表,数据的视图由视图对象代表.MFC的Cdocument类是文档对象的基类,Cview类是视图对象的基类.应用程序的主窗口,其操作功能在MFC的Cframe ...
- Hibernate知识总结(一)
一.ORM ORM的全称是Object/Relation Mapping,即对象/关系映射,可以将其理解成一种规范,它概述了这类框架的基本特征:完成面向对象的编程语言到关系数据库的映射.可以把ORM看 ...
- SVN设置全局忽略提交文件或者目录
在目录中右击选择TortoiseSVN -> 设置 -> 常规设置 -> 全局忽略样式 修改全局忽略样式(可以设置忽略的文件或者目录,以空格隔开):*.o *.lo *.la *.a ...
- Python 操作excel之 openpyxl模块
1. 安装 pip install openpyxl 想要在文件中插入图片文件,需要安装pillow,安装文件:PIL-fork-1.1.7.win-amd64-py2.7.exe · font(字体 ...
- Ubuntu 16.04 下octave的使用入门
SciLab和octave是开源的且免费的矩阵计算工具,二者都有希望成为矩阵计算的新宠.相比之下, octave与MatLab的兼容性更高. octave遵循GPL协议(GNU General Pub ...
- RISC-V平台的汇编指令解析
csrr a0, 0xF14 //把0xF14的值读入到a0中 andi a1, a0, 0x1f //把a0 和0x1F按位与运算后存储到a1中 srli a0, a0, 5 ...