java - 如何使用java准备语句更新mysql时间戳列?

标签 java mysql sql jdbc prepared-statement

我创建了如下表格:

create table sample(id int not null,created_at timestamp,updated_at timestamp,name varchar(100),primary key(id));

已尝试通过以下不同方式更新该列,但无法更新时间:

Calendar calender = Calendar.getInstance();
java.util.Date now = calender.getTime();
java.sql.Timestamp updatedAt = new java.sql.Timestamp(now.getTime());
stmt.setTimestamp(2, updatedAt);

java.sql.Timestamp  updatedAt = new java.sql.Timestamp(new java.util.Date().getTime());
stmt.setTimestamp(2, updatedAt);

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = new Date();
String updatedAt =sdf.format(date);
stmt.setString(2, updatedAt);

final java.util.Date updatedAt = new java.util.Date(System.currentTimeMillis());
stmt.setDate(2, new java.sql.Date(updatedAt.getTime()));

请帮我解决这个问题?

最佳答案

由于 SQL 约定,java.sql.Date() 会去除日期的时间部分。您可以查看SQL-92 standard .

Timestamp updatedAt = new Timestamp(Calendar.getInstance().getTimeInMillis());
stmt.setTimestamp(2, updatedAt);

关于java - 如何使用java准备语句更新mysql时间戳列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25030650/

相关文章:

java - 实现此记录的最佳方式(存储日期以及 ID 和数量)?

java - Spring AntRequestMatcher 不匹配

php - 事务无法正常工作 - PHP 和 MySql

mysql - SQL 查询获取 11 月后工资增加的员工

mysql - Xml 转 Mysql

sql - 如果不存在行,如何让 SQL Server 返回默认值 0?

SQL 子查询替代 INTERSECT

java - Java中的模数慢吗?

mysql - 如何使用 mysql 连接查找每个类别下的产品总数?

java - 使用java为windows phone 7发送推送通知