| 
 
| 
| 
| | « | October 2025 | » |  | 日 | 一 | 二 | 三 | 四 | 五 | 六 |  |  |  |  | 1 | 2 | 3 | 4 |  5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |  | |  | 
 |  公告
 |  
| 戒除浮躁,读好书,交益友 |  
 
 
 
 
 
 
| Blog信息 |  
| blog名称:邢红瑞的blog日志总数:523
 评论数量:1142
 留言数量:0
 访问次数:9729476
 建立时间:2004年12月20日
 |   
 
 |  | 
 
|  [数据库]mysql jdbc驱动的一个bug 原创空间,  文章收藏,  软件技术,  电脑与网络
 邢红瑞 发表于 2006/8/14 14:32:09  |  
| 
| 这个bug很久了,3.2-5.0.3  一直有。Create test database:
CREATE TABLE `test` (  `test` datetime NOT NULL default '0000-00-00 00:00:00') TYPE=MyISAM;
插入记录
INSERT INTO `test` ( `t1` )VALUES ('0000-00-00 00:00:00')检索select * from test使用jdbcError Executing: select * from test:java.sql.SQLException: Cannot convert value'0000-00-00 00:00:00' from column 1 to TIMESTAMP.java.sql.SQLException: Cannot convert value '0000-00-00 00:00:00' from column 1 toTIMESTAMP. at com.mysql.jdbc.ResultSet.getTimestampFromString(ResultSet.java:5712) at com.mysql.jdbc.ResultSet.getTimestampInternal(ResultSet.java:5740) at com.mysql.jdbc.ResultSet.getTimestamp(ResultSet.java:5393) at sun.reflect.GeneratedMethodAccessor8.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source)处理 jdbc:mysql://localhost:3306/mydbname?zeroDateTimeBehavior=convertToNull原因很简单,'0000-00-00 ...' java无法处理,只好将它转为null。 |  
 |  
 
 
 
 |