【发布时间】:2018-06-29 10:01:18
【问题描述】:
PreparedStatement stmt1 = con.prepareCall("update khol SET emailcnf = 'ya' where khol.id =
(SELECT guiid.id FROM guiid WHERE guiid.gchbi = 'htg1' and guiid.typ = 'reg')");
System.out.println("rows COUNT "+stmt1.executeUpdate());
stmt1.close();
输出是:
行数 0
executeUpdate 返回 0,当我直接在 Mysql 中运行相同的语句时,它工作正常。
【问题讨论】:
-
使用
con.prepareStatement而不是con.prepareCall。 -
它不起作用,我已经尝试过使用 con.prepareStatement
-
你确定你连接到同一个数据库吗?
-
是和其他单语句,如插入、删除、更新工作正常,但是当我尝试在 jdbc 中使用 select 语句运行更新但它不起作用
-
Aborted connection 6 to db: 'atg' user: 'root' host: 'localhost' (读取通讯包时出错) Aborted connection 7 to db: 'atg' user: 'root' host :'localhost'(读取通信数据包时出错)中止连接 8 到 db:'atg'用户:'root'主机:'localhost'(读取通信数据包时出错)中止连接 10 到 db:'atg'用户: “root”主机:“localhost”(读取通信数据包时出错)这是我的 MYSQL 日志中的最后一行