1

我知道如何“设置”它,但我该如何添加呢?如...

    // Add 1 minute to the current 'time' object
    try {
        Connection con = DriverManager.getConnection(url, user, password);
        String sql = "UPDATE Table "
                   + "SET 'Time Field' = 'Time Field' + ? "
                   + "WHERE 'User Column' = 'Random Name'";
        PreparedStatement statement = con.prepareStatement(sql);
        statement.setTime(0, new Time(60000));
    } catch (SQLException e) {
        e.printStackTrace();
    }

我确定我必须使用“ADDITEM(expr1,expr2)”函数,但我该怎么做呢?我觉得这不像只是将它输入到我的字符串中那么容易。

4

3 回答 3

1

您不应该传入 Java 日期/时间:您应该使用 SQL 时间/日期文字或 MySQL 时间/日期函数。无论哪种方式,您不再需要在准备好的语句中使用“时间”变量:

// EXAMPLE: add 2 hours to current time
String sql = 
  "UPDATE Table " + 
  "SET 'Time Field' = 'Time Field' + DATE_ADD(NOW(), INTERVAL 2 HOUR) " +
  "WHERE 'User Column' = 'Random Name'";

以下是可用的 MySql 日期/时间函数:

于 2012-11-04T07:31:39.197 回答
0

使用 PreparedStatement 类。文档在这里:

http://docs.oracle.com/javase/6/docs/api/java/sql/PreparedStatement.html

于 2012-11-04T07:54:54.587 回答
-1

使用ADDTIME()功能如下:

         String sql = "UPDATE Table "
               + "SET 'Time Field' = ADDTIME('Time Field', ?) "
               + "WHERE 'User Column' = 'Random Name'";

然后将参数值设置为所需的值。

于 2012-11-04T07:36:21.820 回答