try 在数据库中插入对象时收到以下错误消息:

com.ibm.db2.jcc.am.SqlIntegrityConstraintViolationException: 
DB2 SQL Error: SQLCODE=-407, SQLSTATE=23502, SQLERRMC=TBSPACEID=2,
    TABLEID=19, COLNO=0, DRIVER=4.15.134

如何检索引发错误的表/列名?

推荐答案

显然,在包级别,DB2只处理ID,而不处理名称.

您可以使用以下查询重新找到它们:

SELECT C.TABSCHEMA, C.TABNAME, C.COLNAME
FROM SYSCAT.TABLES AS T,
SYSCAT.COLUMNS AS C
WHERE T.TBSPACEID = 2
AND T.TABLEID = 19
AND C.COLNO = 0
AND C.TABSCHEMA = T.TABSCHEMA
AND C.TABNAME = T.TABNAME

Database相关问答推荐

Power BI中的计数

在MongoDB的树形 struct 中更新具有给定id的元素

Prisma - 将属性的类型设置为枚举数组

多列上的全文索引如何工作?

group by会自动保证order by吗?

查询表的外键关系

如何在 2 个 MySQL 数据库之间传输数据?

B+ 树相对于 BST 的优势?

如何使用 MySQL Workbench 更改字段的值?

对于 Postgres (Windows),有没有像 TOAD 一样好的东西?

在现有数据库上使用 liquibase

在单个 postgres 查询中多次调用 `now()` 是否总是给出相同的结果?

我应该在数据库模式中允许空值吗?

如何使用 Hibernate 在不丢失数据的情况下更新数据库模式?

何时在关系数据库中使用枚举或小表?

将查询限制为一条记录会提高性能吗

在连接表中,Rails 缺少组合键的最佳解决方法是什么?

分离实体和被管理实体

如何从多个表中 Select 不同的值

数据库效率 - 每个用户的表与用户表