javamysql触发器调用javamysql时出现错误,怎么解决

使用mysql的系统中常见sql错误 - 廉颇老矣,尚能饭否? (jdk+算法+spring+netty+大数据+OS+Architect) - ITeye博客
博客分类:
使用mysql的系统中常见的sql错误:
1.事务中某些表是非innodb类型。
SQLWarning ignored:
SQL state 'HY000', error code '1592',
message [Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it accesses a non-transactional table after accessing a transactional table within the same transaction.]
2.表中的列为特定类型,而所插入的数据类型没与其字段一一对应
SQLWarning ignored:
SQL state '01000', error code '1265',
message [Data truncated for column 'f_birthday' at row 1]
3. 连接数已达到pool的上限,无法再创建新的连接。
Could not get JDBC C
nested exception is com.atomikos.jdbc.AtomikosSQLException: Failed to grow the connection pool
4. 连接数用尽
Data source rejected establishment of connection,
message from server: "Too many connections"
5. 未知的XID(分布式事务错误)
SQLWarning ignored: SQL state 'HY000',
error code '1397',
message [XAER_NOTA: Unknown XID]
6. 初步判断:数据源状态异常,导致分布式事务无法将该数据源添加到global transaction中。
com.atomikos.datasource.ResourceException: XA resource 'db/dataSourceDefault':
resume for XID '746D2D706CDD2D706CD3539' raised -9:
the XA resource is currently involved in a local (non-XA) transaction
7.数据源状态异常,连接错误等引起的
com.atomikos.datasource.ResourceException: XA resource 'db/dataSourceDefault': resume for XID '746D2D706CD:
746D2D706CD3239' raised -7: the XA resource has become unavailable
8.[Err] 1292 - Truncated incorrect DOUBLE value
error sql:
update shop set shop_name = '又及' and nick_name = '又及'where shop_id = 10002
right sql:
update shop set shop_name = '又及' , nick_name = '又及'where shop_id = 10002
charles751
浏览: 552655 次
来自: 北京
对于初学者来说,这样编写可能会误导,理解更烦锁。
startThreads(rand ...
谢谢博主,学习了
大神厉害啊 可以了随笔 - 20&
文章 - 0&评论 - 13&trackbacks - 0
今天客户打电话来说我们的系统备份的sql文件为空文件。这让我很凌乱,我们测试过滴,执行很成功嘛。可客户使用的时候确实是备份失败嘛 ,这是事实。&我东测试西测试,在本机咋滴还是没出现这样的问题;没办法装了个虚拟机,安装了和客户一样的操作系统 ,并且按照客户安装步骤进行部署。结果,神奇事情出现了,所备份的数据库文件确实是空的,最后是东找西找,又是百度又是谷歌的,还是没有解决。后来我一想,mysql的安装路径不一样,我都喜欢把软件工具都安装在C盘以外,自定义的安装路径,而客户是安装在默认的Program Files下面,而文件夹有空格的名称的经常会致使一些莫名其妙的问题出现。想到就做,我将mysql bin目录下的mysqldump复制放到c盘,并且把系统语句改为Runtime rt = Runtime.getRuntime();rt.exec("cmd /c c:\\mysqldump -hlocalhost -uroot -p123456 --opt databaseName&d:\\bk.sql");居然成功了,文件不再是0KB的空文件。自此,问题解决。&罪魁祸首是Program Files文件夹的空字符串,不知道当初微软为啥要在中间加个空格。&我项目的解决方案就是:1、将mysqldump.exe复制放到我的项目文件夹下2、执行备份时,先得到项目部署路径,然后执行&Runtime rt = Runtime.getRuntime();String path = 获取mysqldump所在路径。&rt.exec("cmd /c "+path+"\\mysqldump -hlocalhost -uroot -p123456 --opt databaseName&d:\\bk.sql");&3、前提是让客户部署时,别将项目部署在含有空格的文件夹下面。&记录下问题的解决方法以供参考。&&
阅读(...) 评论()

我要回帖

更多关于 mysql触发器调用java 的文章

 

随机推荐