У меня есть столбец в базе данных с типом данных DATETIME
. Я хочу установить для этого столбца текущую дату и время с помощью PreparedStatement. Как мне это сделать?
Используйте PreparedStatement#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
вместо DATETIME
в MySQL.