1

比如说,我有一张表,example1我正在使用 jdbc 语句来删除其中的一行。我尝试了各种方法,从delete from example1 where id = 1statement.addbatch(sql)但它不会删除该行。如果我在 Toad for Mysql 中执行相同的 sql 语句,它就可以很好地删除该行。

奇怪的是,使用 jdbc 我可以很好地从其他表中删除行;只是这张特殊的桌子给了我意想不到的结果。

这张桌子没有什么特别之处。它有一个主键,没有约束/外键关系。

此外,此删除是事务的一部分,因此自动提交设置为false,一旦所有记录都得到更新/插入/删除,则提交完成。这似乎与任何其他表没有任何问题,并且所有更新/删除/插入都完成得很好。

权限方面,该表对 db 用户的权限与 db 中的任何其他表相同。

任何想法或指示将不胜感激!

4

2 回答 2

0

我也遇到过同样的情况

我记得查询中有一个明确的错误尝试在mysql sqlyog或任何GUI中执行查询并检查它是否有效,我100%肯定它不会工作

然后更正查询并检查它

于 2011-06-01T02:50:56.873 回答
0

在数据库上打开常规日志记录或在 JDBC 驱动程序中进行分析将向您显示数据库的实际情况:

http://dev.mysql.com/doc/refman/5.0/en/connector-j-reference-configuration-properties.html

通过将其添加到连接字符串来启用对 Connector/J 的查询分析:profileSQL=true

一般日志记录文档: http ://dev.mysql.com/doc/refman/5.1/en/query-log.html

还有 mk-query-digest 用于嗅探您的网络流量并分析结果: http: //www.maatkit.org/doc/mk-query-digest.html

于 2011-06-01T03:07:03.960 回答