如何使用预准备语句设置当前日期和时间?
2022-09-01 10:35:14
我在数据库中有一列具有数据类型。我想使用“准备语句”将此列值设置为当前日期和时间。我该怎么做?DATETIME
我在数据库中有一列具有数据类型。我想使用“准备语句”将此列值设置为当前日期和时间。我该怎么做?DATETIME
使用ReadkStatement#setTimestamp()
,其中你传递一个java.sql.Timestamp
,它是用System#currentTimeMillis()
构造的。
preparedStatement.setTimestamp(index, new Timestamp(System.currentTimeMillis()));
// ...
或者,如果数据库支持它,您还可以调用特定于数据库的函数以使用当前时间戳对其进行设置。例如,MySQL支持这一点。例如:now()
String sql = "INSERT INTO user (email, creationdate) VALUES (?, now())";
或者,如果数据库支持,请将字段类型更改为自动设置插入/更新时间戳的类型,例如TIMESTAMP而不是MySQL中的TIMESTAMP
。DATETIME
conn = getConnection();
String query = "insert into your_table(id, date_column) values(?, ?)";
pstmt = conn.prepareStatement(query);
pstmt.setString(1, "0001");
java.sql.Date date = getCurrentDatetime();
pstmt.setDate(2, date);
其中函数 getCurrentDatetime() 执行以下操作:
public java.sql.Date getCurrentDatetime() {
java.util.Date today = new java.util.Date();
return new java.sql.Date(today.getTime());
}