什么是正确的sqlType用于setNull()

问题描述:

我有一个春天的MVC项目与MySQL数据库。在表中,我想为具有数据类型BIGINT的列设置NULL值。我用来设置空码:什么是正确的sqlType用于setNull()

ps.setNull(1,java.sql.Types.NULL);

OR

ps.setNull(1,java.sql.Types.BIGINT);

NULL值插入如果我使用任何上述声明的,但什么是使用正确的SQLTYPE? NULL或BIGINT。

+0

可能重复的[为什么PreparedStatement.setNull需要sqlType?](http://*.com/questions/4243513/why-does-preparedstatement-setnull-requires-sqltype) – Amogh 2014-12-04 08:57:26

+0

我的问题是可能是http的重复://*.com/questions/4243513/why-does-preparedstatement-setnull-requires-sqltype – Amogh 2014-12-04 08:58:19

Oracle documentation说:“您必须指定参数的SQL类型。”为setNull。因此,我相信你应该通过价值java.sql.Types.BIGINT

+0

你的问题是什么? – 2014-12-04 07:57:08

+0

为什么要使用参数的SQL类型?使用BIGINT和NULL有什么区别,而两者都是在数据库中插入NULL。 – Amogh 2014-12-04 08:14:09

+0

除了我的答案中的链接外,我找不到任何文档。也许你可以看看源代码,如果有可能看到可能的差异? – 2014-12-04 08:18:07