Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用Java将当前日期插入MySQL数据库?_Java_Mysql - Fatal编程技术网

如何使用Java将当前日期插入MySQL数据库?

如何使用Java将当前日期插入MySQL数据库?,java,mysql,Java,Mysql,我想将当前日期和时间插入定义为datetime类型的列中 我键入了以下代码: java.sql.Date sqlDate = new java.sql.Date(new java.util.Date().getTime()); PrepStmt.setDate(1, sqlDate); 当我检查数据库时,我发现插入的日期正确,但时间是:00:00:00。修复方法是什么?您使用了错误的方法。您可以改为使用。您需要使用的是方法而不是setDate()方法 设置时间戳的方法之一如下: Timesta

我想将当前日期和时间插入定义为datetime类型的列中

我键入了以下代码:

java.sql.Date sqlDate = new java.sql.Date(new java.util.Date().getTime());
PrepStmt.setDate(1, sqlDate);

当我检查数据库时,我发现插入的日期正确,但时间是:00:00:00。修复方法是什么?

您使用了错误的方法。您可以改为使用。

您需要使用的是方法而不是setDate()方法

设置时间戳的方法之一如下:

Timestamp timestamp = new Timestamp(new Date().getTime());
然后可以将参数设置为:

PrepStmt.setTimestamp(1, timestamp);
听起来你需要

java.sql.Timestamp

您使用的
java.sql.Date
仅用于处理日期,不记录时间。或者,如果您只需要时间,可以使用
java.sql.Time

尝试使用setTimestamp作为

PrepStmt.setTimestamp(1, sqlDate);

由于您使用
datetime
作为列类型,因此需要使用
java.sql.Timestamp
存储日期,并使用
PrepareStatement.setTimestamp
插入日期

尝试使用以下方法:-

java.sql.Timestamp date = new java.sql.Timestamp(new java.util.Date().getTime());
PrepStmt.setTimestamp(1, date);

我用这个解决了这个问题。

MySQL数据库中列的数据类型是什么?@doublesharp。他在那里写过信。现在是约会时间。
java.sql.Timestamp date = new java.sql.Timestamp(new java.util.Date().getTime());
PrepStmt.setTimestamp(1, date);