日期:2014-05-19  浏览次数:20664 次

sql server中我创建表时设了一个字段默认为getdate(),为什么总是1900-01-01,急呀?
sql server中我创建表时设了一个字段默认为getdate(),为什么总是1900-01-01,急呀?
Create table t_mng_stateinfo (
      operno_cr      char(19) primary key   not null,
      opendate_cr       datetime default getdate()
)

insert into t_mng_stateinfo values('110000000000000002','')

查询结果总是为:
110000000000000002 1900-01-01 00:00:00.000 
为什么?急呀?
------最佳解决方案--------------------
insert into t_mng_stateinfo (operno_cr) values('110000000000000002')
试试
------其他解决方案--------------------
如果没有用hibernate,则用别的函数;
如果用hibernate,则在代码里设置默认值。
------其他解决方案--------------------
使用hibernate的话,如果你没有显示的插入这个时间值,则默认显示为null,在程序中处理下,生成当前的时间了再插入数据库。
------其他解决方案--------------------
LZ第二个参数''明显不是datetime类型,自动用default值替换了
------其他解决方案--------------------
没这样子没有用
会报一个错《列名或所提供值的数目与表定义不匹配。》
------其他解决方案--------------------

引用:
如果没有用hibernate,则用别的函数;
如果用hibernate,则在代码里设置默认值。

如何用代码设置默认值?