目录
报错
最近,在使用DB2数据库开发时,报了一个错,特记录下来。具体报错为:
【com.ibm.db2.jcc.am.SqlIntegrityConstraintViolationException: DB2 SQL ERROR: SQLCODE=-407,SQLSTATE=23502,SQLERRMC=TASPACEID=4,TABLEID=61,COLNO=10,DRIVER=3.69.24】
报错原因
出现这个报错的原因是,将null值插入到数据库表中非null的字段中,即为违反完整性约束异常。
解决方式
需在数据库客户端执行语句:
SELECT * FROM SYSCAT.COLUMNS WHERE TABNAME = 'HCP_EVALUATION_INFO' AND COLNO = 10;
SYSCAT.COLUMNS是系统表,表中存储的是DB2数据库中所有的表的列的详细信息,TABNAME为报错的表,此处为HCP_EVALUATION_INFO,COLNO为报错的列的编号,此处为10,查询结果中COLNAME即为报错的字段(即为非null字段,却插入了null值),此处的字段为ORGCODE。