项目中遇到的涉及Mysql的几个异常及解决办法(转)

本文转自:http://blog.csdn.net/haoren_e/archive/2010/05/14/5590912.aspx

这次的项目采用mysql数据库,以前没怎么接触过,所以遇到很多问题,在此小小总结一下:

(1)com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure

见名之意:超时,无法连接

所以解决办法也很好办:

在my.ini中添加wait_timeout=1814400,(21*3600*24)21天,修改等待超时时间。

(2)com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Data source rejected establishment of connection, message from server: "Too many connections"

原因:因为你的mysql安装目录下的my.ini中设定的并发连接数太少或者系统繁忙导致连接数被占满。

解决方式:
打开MYSQL安装目录打开MY.INI找到max_connections(在大约第93行)默认是100 一般设到500~1000比较合适,重启mysql,这样1040错误就解决啦。
max_connections=1000

(3)一直听大家说mysql是不区分大小写的,确实,在windows平台确实不区分大小写,可是一旦将程序移植到linux下,就有问题啦。因为在linuxmysql对大小写是敏感的。

解决方法:找到etc文件夹下的my.cnf配置文件,找到mysqld:

Lower_case_table_names=1(让大小写不敏感)不同的数字表示不同的意思,大家如果想详细了解,可以自己上网查一下,在此不详述了。

(4)有一次往表中插入数据时出现:com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘£¬photo_url=‘photos/non.gif‘, phone=‘013901290001‘, id_type=‘?¨ª???¡è‘, id_num=‘‘ at line 1

解决方法:因为我的sql语句是insert into tb_process_form_attendance(runId,key),而key在mysql中是关键字,所以无法插入,报错,在key的头上加上两点(反引号,它在键盘的~这个键上)。即可搞定:`key`,哎,真是不用不知道啊~

(5)今天在写sql时遇到一个说在MySQL4.1中子查询是不能使用LIMIT的,手册中也明确指明 This version of MySQL doesn’t yet support ‘LIMIT & IN/ALL/ANY/SOME subquery

解决办法:这样的语句是不能正确执行的。
select * from table where id in (select id from table limit 10);

但是,只要你再来一层就行。如:

select * from table where id in (select t.id from (select * from table limit 10)as t)

(6)not unique table/alias

则 SQL 语句中出现了非唯一的表或别名。

解决方法:

1、请检查出现问题位置的 SQL 语句中是否使用了相同的表名,或是定义了相同的表别名。

2、检查 SELECT 语句中要查询的字段名是不是定义重复,或者没有定义。

不断总结,不断更新~希望与大家共勉~

时间: 2024-10-16 00:51:02

项目中遇到的涉及Mysql的几个异常及解决办法(转)的相关文章

spring boot 项目使用idea正常打包后执行总是出现异常,解决办法

众所周知,spring boot 在构建项目时,确实为Java程序员们省了不少力气,打包项目非常容易. 上周在项目中遇到打包后的项目总是无法运行,困扰了我们团队将近两天才找到原因. 图和真相在这里. 原文地址:https://www.cnblogs.com/nulijiushimeili/p/11029452.html

.Net中使用com组件后发生System.ArithmeticException异常的解决办法(Message=算术运算中发生溢出或下溢。)

最近在开发一个.Net程序,其中涉及到对com组件的调用,或者第三方DLL调用, 在调用完以后如果使用一些小的测试程序继续运行,一切正常,但是在使用带有GUI的form程序,或者WPF程序中,继续执行时,总是出现以下异常Exception: System.ArithmeticExceptionMessage: 算术运算中发生溢出或下溢. "设置属性"System.Windows.FrameworkElement.Height"时引发了异常.",行号为"6&

maven项目中连接sqlserver和mysql的区别

maven项目中,sql和mysql连接所需加载的包与jdbc.properties中的写法是不一样的 对于mysql: jdbc.properties的写法: jdbc.driverClassName=com.mysql.jdbc.Driver -- mysql驱动 jdbc.url=jdbc\:mysql\://localhost\:3306/workloads?useUnicode=true&characterEncoding=utf-8 -- 具体数据库信息,并设置编码 jdbc.use

在CentOS中安装32位或64位MySql报错error: Failed dependencies解决办法

在CentOS中安装MySql报错error: Failed dependencies解决办法 安装64位MySql报错内容如下:error: Failed dependencies:        libaio.so.1()(64bit) is needed by MySQL-server-5.6.19-1.el6.x86_64    libaio.so.1(LIBAIO_0.1)(64bit) is needed by MySQL-server-5.6.19-1.el6.x86_64    

您配置文件中的设置 (空密码的 root) 与 MySQL 默认管理员账户对应...的解决办法

您配置文件中的设置 (空密码的 root) 与 MySQL 默认管理员账户对应.……解决办法很简单:1.修改[email protected]权限的密码. 打开wamp的phpmyadmin,进入它的管理界面,点击权限,这时页面上会显示一张用户权限表,找到用户为: root.主机为:localhost的数据行,点击后面的修改按钮,弹出详细的权限配置页面,找到里面的修改密码项, 两次输入你想修改的密码后,点击执行就完成了数据库中[email protected]权限的密码修改.2.修改phpmya

无法启动MYSQL服务”1067 进程意外终止”解决办法——汇总及终极方法

自己一开始按照百度经验里的方法--<MySQL下载安装.配置与使用(win7x64)>去安装和配置,但是到后面步骤总是出现1067代号的错误.慢慢折腾去解决. 这里汇总各种导致mysql提示无法启动MYSQL服务"1067 进程意外终止"的一些解决办法.自己遇到这个问题是查了很多方法不行,最后看到一个论坛的讨论,试了一下竟然可以.一下是网上的部分方法,最后可以的那个方法我放在最后面: 启用MySql服务的时候出现"windows无法启动mysql服务(位于本地计算

【转】Android中引入第三方Jar包的方法(java.lang.NoClassDefFoundError解决办法)

原文网址:http://www.blogjava.net/anchor110/articles/355699.html 1.在工程下新建lib文件夹,将需要的第三方包拷贝进来.2.将引用的第三方包,添加进工作的build path.3.(关键的一步)将lib设为源文件夹.如果不设置,则程序编译可以通过,但运行的时候,会报: java.lang.NoClassDefFoundError # re: Android中引入第三方Jar包的方法(java.lang.NoClassDefFoundErro

Amazon RDS MySQL数据库还原时 log_bin_trust_function_creators 错误解决办法

使用了Amazon AWS EC2免费云空间,数据库实例采用Amazon RDS.原来在Windows Server上有一个存在大量数据的MySQL数据库.现在需要在Amazon RDS上还原这个MySQL数据库,勾掉Views(因为它会要求SUPER权限,而Master User无此权限,毕竟是托管的RDS),只留下Tables,如下图(使用Navicat): 图1:勾掉Views,因为RDS上的Masteruser无Super权限,无法还原Views对象 但在还原时,仍然出现如下的错误信息:

Tomcat异常及解决办法——持续更新中

公司项目,开发语言为java,中间件为Tomcat,运行过程中,从Tomcat出现了一些异常,现将异常及解决办法记录如下,仅供参考.(不断在补充中.......) 异常一: 1.日志内容 org.apache.coyote.http11.AbstractHttp11Processor.process Error parsing HTTP request header Note: further occurrences of HTTP header parsing errors will be l