当前位置: 首页 > 面试题库 >

使用JDBC向Integer列插入null

徐德海
2023-03-14
问题内容

我有一个sql列PROTOCOL,它是可为空的,并且对表有约束

PROTOCOL IN (1, 2, 3)

另外,由于它可以为空,所以我想设置并获取表中的空值

但我不能这样做,setInt并且getInt为null。如何使用JDBC将null设置为null

setInt(4,null);

问题答案:

尝试使用。

   pst.setNull(4, java.sql.Types.INTEGER);  //pst is prepared statement instance.

接口PreparedStatement.setNull
API

将java.sql.Types映射为SQL类型

PS:编辑以反映Java 8更新。



 类似资料:
  • 问题内容: 我现在正在使用批处理: 我只是想知道上面的代码是否等效于下面的代码。如果没有,哪个更快? 问题答案: 首先,使用查询字符串连接,不仅会丢失PreparedStatement方法固有的类型转换,而且还容易受到数据库中正在执行的恶意代码的攻击。 其次,PreparedStatement先前已缓存在数据库本身中,与纯语句相比,这已经带来了很好的性能改进。

  • 问题内容: 我正在尝试使用jdbc将一些数据插入到我的数据库中。我正在使用正确的表,数据库名称和参数。一切检查完毕。 代码 这是当我尝试运行它时给我的错误: 问题答案: 您在此行中有语法错误: 您缺少values子句的右括号。

  • 我试图使用以下JDBC语句将一些值插入到来自Java的Oracle DB中: 序列创建如下: 我得到以下错误, 但当我尝试手动插入到表中时,它是成功的。 有什么问题?

  • 我使用的是vertx jdbc客户端(http://vertx.io/docs/vertx-jdbc-client/java/)我的数据库连接。这适用于除BigDecimal之外的所有数据类型。 在我的数据库中,类型是decimal(13,2),在Java中,我使用的是BigDecimal数据类型。我只是想读书 不幸的是,我得到了以下例外: 查看io.vertx.core.json.Json.ch

  • 我正在尝试运行一个insert语句,它将帮助我为下面的api调用创建用户帐户。我查看了JMeter JDBC请求,其中包含select/update/ect。。。我没有看到插入查询类型。有人知道我如何运行一些插入查询来创建数据库的用户吗? 谢谢我。

  • 我的MySQL数据库中有两个表: 另外,如何获取给定名称的数据? 任何帮助都是非常感谢的!