急!!mysql中日期字段为何读不出来?
在mysql表中有一字段为日期字段,(timestamp 或 datetime都试过),默认值为0000-00-00 00:00:00
此时向表中插入一条记录,如果不写入此日期字段任何值,也就是使用他的默认值'0000-00-00 00:00:00'
那么在java中获取此记录,无论使用rs.getDate()、rs.getObject()、rs.getTimestamp()、等都报错。
错误信息为:
Value '0000-00-00' can not be represented as java.sql.Timestamp: Value '0000-00-00' can not be represented as java.sql.Timestamp
如果向此字段写入一个正常的日期读取出就不会报错.
由于此字段为非必须字段,所以如果在用户不选择写入,那么必须写入一个默认值。但现在写入一个默认值0000-00-00 00:00:00 用java就读不出来。为什么呢?
由于系统要求统计性,必须使用日期timestamp类型字段。本来一直使用long型就没这问题。
各位使用mysql碰到过这个问题吗?我用的是mysql5.0.
急!!!啊!