我试图在MySql数据库中插入一个Mysql datetime值...但是,我没有成功。
如果mysql数据类型为datetime,则数据类型java.sql.TimeStamp不起作用,但是,如果mysql数据类型为timestamp,则它可以正常工作;因此,除了拥有正确的数据类型外,我正在做正确的事情。
我缺少什么,有什么工作?
在建议开始到来之前,必须满足这些要求:
代码示例(如果字段具有数据类型时间戳,则此方法正常,如果字段为datetime,则将填充空值):
java.sql.Connection con = DriverManager.getConnection(url, user, password);
con.setAutoCommit(false);
java.sql.PreparedStatement preparedStatement = con.prepareStatement("insert into table (created_at) values (?)");
for (int x =0; x < list.size(); ++x)
{
java.util.Date dt = list.get(x);
java.sql.Timestamp dt_sql = null;
if(dt_dt!= null)
{
dt_sql= new java.sql.Timestamp(dt.getTime());
preparedStatement.setTimestamp(1, dt_sql);
}
else
{
preparedStatement.setNull(1, java.sql.Types.TIMESTAMP);
}
if ((x+1)%100 == 0)
{
preparedStatement.executeBatch();
con.commit();
}
}
preparedStatement.executeBatch();
con.commit();