java - 如何使用 JDBC 在 MySQL 中添加一个 'time' 类型?

标签 java mysql jdbc

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

    // 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)”函数,但我该怎么做呢?我觉得这不像将它键入我的字符串那么容易。

最佳答案

您不应传入 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 日期/时间函数:

关于java - 如何使用 JDBC 在 MySQL 中添加一个 'time' 类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13216868/

相关文章:

php - mysqli_stmt::bind_param() - 为每个参数指定除 "s"之外的另一种数据类型

mysql - 通过忽略日期中的时间部分来显示数据

java连接与mysql错误

c# - 使用中继器进行购物车

java - 用Java查找自2004年1月1日UTC 00:00:00以来的TAI秒数

java - BufferReader 读取空行

java - servlet 代码结构/模式思路?写作回应

java - 查询不适用于 SQL Server 2008 中的表

java - 为什么 Eclipse 构建路径中需要 oracle 驱动程序?

java - CardLayout - 如何使用 NetBeans GUI Builder 使用 previous() 和 next()?