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

You shouldn't pass in a Java date/time: you should use a SQL time/date literal, or a MySQL time/date function. Either way, you no longer need a "time" variable in your prepared statement:

// 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'";

Here are the available MySql date/time functions:

于 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 に答える