【发布时间】:2016-03-11 17:39:02
【问题描述】:
我无法在数据类型为 bytea(blob) 的 postgres 数据库中插入空值。这是我的 java 代码 sn-p:
ps.setNull(++index, java.sql.Types.BLOB);
bytea 列是可以为空的列。以下是表格说明。
testdb=# \d+ plan
Table "public.plan"
Column | Type | Modifiers | Storage | Stats target | Description
-------------+-------+-----------+----------+--------------+-------------
description | bytea | | extended | |
Has OIDs: no
我收到以下异常 java.sql.BatchUpdateException:批处理条目 11 INSERT INTO public.plan(description) VALUES(NULL) 被中止。调用 getNextException 查看原因。
【问题讨论】:
-
你得到的错误是什么?
-
java.sql.BatchUpdateException:批处理条目 11 INSERT INTO public.plan(description) VALUES(NULL) 被中止。调用 getNextException 查看原因。这是个例外。
-
列“描述”的类型是 bytea,但表达式的类型是 oid。它是如何转换为oid的。
-
试试
setObject(++index, null)或setNull(++index, Types.OTHER) -
谢谢,它与 setNull(++index, Types.OTHER) 一起工作。 :)
标签: postgresql jdbc blob