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

标签 java mysql jdbc sql-delete failover

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

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

这张 table 没什么特别的。它有一个主键,没有约束/外键关系。

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

在权限方面,此表对数据库用户具有与数据库中任何其他表相同的权限。

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

最佳答案

打开数据库的常规日志记录或在 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

关于java - JDBC 语句无法删除特定 MySql 表中的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6195682/

相关文章:

java 代码通过向其传递参数来启动 jar

php - 在 SELECT 语句中的字符串中的单词的左侧和右侧添加空格

php - MySql自动停止

java - Netbeans 与 SQLite 的连接中出现 SQLite 错误或缺少数据库(没有此类表)

java - JTable+JDBC : Easiest way

java - 对 4 个表达式使用三元运算符

java - UnsatisfiedLinkError: java.library.path 中没有 j3dcore-ogl

java - 如何使用java正则表达式识别字符的第四次出现

php - 使用php显示来自多个表的数据

java - 在 Kubernetes/Docker 容器中使用 JDBC 预验证数据源