默认字段 - Java-JDBC

时间:2012-08-13 18:10:19

标签: java sql-server jdbc

我正在读取一个db表并将相同的数据写入另一个db表。 现在,如果源中的日期字段没有任何数据(null),那么当它被写入目标表时 - 相同的字段将默认为日期“1/1/1900”。 我没有在我的程序中的任何位置设置此默认值。不知道为什么会这样。

任何想法如何防止这种情况而不是检查每个字段的null值并将其设置为不同的值?

我正在使用Eclipse和SQL Server数据库。

感谢。

1 个答案:

答案 0 :(得分:2)

一种可能性是日期列的默认值实际设置为“1/1/1900”。如果是这样,请使用SQL ALTER TABLE删除此默认值。 SQL Server的语法是:

ALTER TABLE Table1 ALTER COLUMN DateColumn1 DROP DEFAULT

更新:看起来这个日期是开箱即用的默认设置,请尝试设置:

ALTER TABLE Table1 ALTER COLUMN DateColumn1 DATETIME NULL

这里有一些重要的注意事项:

  1. 在开始更改表格之前备份数据库(!)
  2. 在ALTER命令中使用相同的数据类型(例如DATETIME)。