MySQL 日期时间列中的更新结果集

标签: MySQL Java
发布时间: 2017/1/9 21:31:42
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

我正在为我结果集通过走路时更新 MySQL 中的日期时间字段的最佳方法。 我找到了一些其它的问题,沿着这些台词,但没有解决 Java 数据和在 rs.updateDate 语句的 SQL 日期格式。 我已附上畏缩不前,编辑器的代码。

public class EmailQueueProcess {

    public static Boolean process()
        {

        Date processedDtm = new Date();
        java.util.Date today=new java.util.Date();
        Timestamp currentTimestamp=new Timestamp(today.getTime());

        Connection conn = null;
        PreparedStatement stmt = null;
        ResultSet rs = null;
        try {
            strSQL = "select * from portal.emailqueue where portal.emailqueue.processedDtm is null";
            conn = com.retailapppartners.Utils.staticGetConnection().getConnection();       
            stmt = conn.prepareStatement(strSQL, ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE);

            //now loop through and update the process datetime values
            rs = stmt.executeQuery();
            ResultSetMetaData rsMetaData = (ResultSetMetaData) rs.getMetaData();
            int numberOfColumns = rsMetaData.getColumnCount();
            while (rs.next()) {
            // Grab some data then update the row   
                rs.updateDate ("processedDtm", currentTimestamp);
                rs.updateRow();

            }

        } catch .....

解决方法 1:

updateDate()需要 java.sql.Date 。所以,我相信你在这里,有两个选项

  1. 使用rs.updateTimestamp("processedDtm", currentTimestamp);
  2. 使用java.sql.Date currentTimestamp = new java.sql.Date();

每表 5.1 中的MySQL 文档

These MySQL Data Types          - Can always be converted to these Java types
DATE, TIME, DATETIME, TIMESTAMP - java.lang.String, java.sql.Date, java.sql.Timestamp

所以你可以使用 1 或 2 以上。

官方微信
官方QQ群
31647020