JDBC语句无法删除特定MySql表中的行

时间:2011-06-01 02:40:45

标签: java mysql jdbc sql-delete failover

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

奇怪的是,使用jdbc我能够从其他表中删除行就好了;只是这一张特别的表给了我意想不到的结果。

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

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

权限允许此表对db用户具有与db。中任何其他表相同的权限。

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

2 个答案:

答案 0 :(得分:0)

我遇到了同样的情况

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

然后更正查询并检查

答案 1 :(得分: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