不支持从 timestamp 到 DATE 的转换。

熊黄酒_H 2017-03-24 09:21:39
我在数据库设计的字段

id int 标识
title varchar
address varchar
writeTime Timestamp
userid int


插入语句

String sql="insert into tb_diary(title,address,userid)values('"+diary.getTitle()+"','"
+diary.getAddress()+"','"
+diary.getUserid()+"')";


书上说Timestamp是时间戳,和标识符一样自动填充,那为什么我在添加数据的时候会 异常:
com.microsoft.sqlserver.jdbc.SQLServerException: 不支持从 timestamp 到 DATE 的转换
我并没有使用这个字段,有数据库自己添加怎么也会有错误

timestamp 这个类型应该怎么用,望大神们赐教,谢谢!!!
...全文
792 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Tiger_Zhao 2017-03-27
  • 打赏
  • 举报
回复
更正:存储类型是8字节的varbinary
Tiger_Zhao 2017-03-27
  • 打赏
  • 举报
回复
哪里看来的“书上说”?
[Quote=SQL Server 联机丛书:]timestamp (Transact-SQL)

Transact-SQL timestamp 数据类型不同于在 SQL-2003 标准中定义的 timestamp 数据类型。 SQL-2003 timestamp 数据类型等同于 Transact-SQL datetime 数据类型。[/Quote]
存储类型是8自己的varbinary,可以转化为 bigint 类型(实际用途就是一个自增的 bigint)。
熊黄酒_H 2017-03-25
  • 打赏
  • 举报
回复
引用 1 楼 sinat_28984567 的回复:
是不是在读取的时候,给本地的date类型的字段赋值了
没有的呀,我直接执行添加操作 String sql="insert into tb_diary(title,address,userid)values('"+diary.getTitle()+"','" +diary.getAddress()+"','" +diary.getUserid()+"')"; 所以没有用到这个字段呀!!!
二月十六 版主 2017-03-25
  • 打赏
  • 举报
回复
引用 2楼我是你的主体 的回复:
[quote=引用 1 楼 sinat_28984567 的回复:] 是不是在读取的时候,给本地的date类型的字段赋值了
没有的呀,我直接执行添加操作 String sql="insert into tb_diary(title,address,userid)values('"+diary.getTitle()+"','" +diary.getAddress()+"','" +diary.getUserid()+"')"; 所以没有用到这个字段呀!!! [/quote]把语句考出来,直接在数据库执行试试
二月十六 版主 2017-03-24
  • 打赏
  • 举报
回复
是不是在读取的时候,给本地的date类型的字段赋值了

34,593

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧