【发布时间】:2017-07-28 12:13:57
【问题描述】:
String sqlInsertBeacon = "INSERT INTO `beacon` (zone_id, location) VALUE ('(SELECT id FROM zone WHERE GeographicalID = '" + geometry3 + "')', Point(" + x_coordinate + "," + y_coordinate + "))";
System.out.println("The SQL query is: " + sqlInsertBeacon); // Echo for debugging
int countInserted3 = stmt.executeUpdate(sqlInsertBeacon);
System.out.println(countInserted3 + " records inserted.\n");
当我运行上述代码时,构建成功,但程序在到达执行行时停止。我正在使用此 sql 查询将数据插入到 mysql 数据库中。我不确定查询中的错误在哪里?任何人都可以提出替代方法或找出错误吗?
程序的输出是这样的,如你所见,程序在第二行后停止运行:
SQL查询是:INSERT INTO table (zone_id,位置) 价值观 ((SELECT id FROM zone WHERE GeographicalID = '6311599'), Point(-121.9453802,37.3256131)) ; 构建成功(总时间:6 秒)
如果有帮助,请提供更多信息:
stmt 是这样创建的:
try (
// Step 1: Allocate a database 'Connection' object
Connection conn = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/adhwere2?useSSL=false", "root", "your_new_password"); // MySQL
// Step 2: Allocate a 'Statement' object in the Connection
Statement stmt = conn.createStatement();) {
捕获异常是:
} catch (SQLException ex) {
}
【问题讨论】:
-
你有什么异常吗?
-
你可以从一些 sql GUI 客户端执行 sqlInsertBeacon 吗?
-
将“S”添加到 VALUE。价值观!!
-
内部 SELECT 周围的
'是否有原因? -
您肯定遇到了异常,否则您的程序不会只是“停止”。