Java 如何解决DB2SQL错误:SQLCODE=-407,SQLSTATE=23502

Java 如何解决DB2SQL错误:SQLCODE=-407,SQLSTATE=23502,java,database,Java,Database,根据,DB2 SQL错误代码-407表示: -407-更新、插入或设置值为NULL,但对象列名不能包含NULL值 州法典也说了同样的话: 23502-插入值或更新值为null,但列不能包含null值 但您显然在这个ALTER语句中遇到了这个错误: 2015-08-28 18:12:19.047-Fri Aug 28 18:12:19 IST 2015DB2 Connection established -->com.ibm.db2.jcc.t4.b@c26e4a 2015-08-28 18

根据,DB2 SQL错误代码
-407
表示:

-407-更新、插入或设置值为NULL,但对象列名不能包含NULL值

州法典也说了同样的话:

23502-插入值或更新值为null,但列不能包含null值

但您显然在这个ALTER语句中遇到了这个错误:

2015-08-28 18:12:19.047-Fri Aug 28 18:12:19 IST 2015DB2 Connection established -->com.ibm.db2.jcc.t4.b@c26e4a
2015-08-28 18:12:20.030-Execution failed ======> alter table BLP.COUNTER_EXTRACTION_REQUEST alter column SCHEME_ID set not null
2015-08-28 18:12:20.032-Error code for failure ======> DB2 SQL Error: SQLCODE=-407, SQLSTATE=23502, SQLERRMC=SCHEME_ID, DRIVER=3.63.123
2015-08-28 18:12:20.044-Execution failed ======> alter table BLP.COUNTER_EXTRACTION_REQUEST alter column SCHEME_TYPE set not null
2015-08-28 18:12:20.044-Error code for failure ======> DB2 SQL Error: SQLCODE=-407, SQLSTATE=23502, SQLERRMC=SCHEME_TYPE, DRIVER=3.63.123
因此,我怀疑在此上下文中,错误代码意味着该列当前包含空值,在消除它们之前,不能向该列添加“notnull”约束

根据,DB2 SQL错误代码
-407
表示:

-407-更新、插入或设置值为NULL,但对象列名不能包含NULL值

州法典也说了同样的话:

23502-插入值或更新值为null,但列不能包含null值

但您显然在这个ALTER语句中遇到了这个错误:

2015-08-28 18:12:19.047-Fri Aug 28 18:12:19 IST 2015DB2 Connection established -->com.ibm.db2.jcc.t4.b@c26e4a
2015-08-28 18:12:20.030-Execution failed ======> alter table BLP.COUNTER_EXTRACTION_REQUEST alter column SCHEME_ID set not null
2015-08-28 18:12:20.032-Error code for failure ======> DB2 SQL Error: SQLCODE=-407, SQLSTATE=23502, SQLERRMC=SCHEME_ID, DRIVER=3.63.123
2015-08-28 18:12:20.044-Execution failed ======> alter table BLP.COUNTER_EXTRACTION_REQUEST alter column SCHEME_TYPE set not null
2015-08-28 18:12:20.044-Error code for failure ======> DB2 SQL Error: SQLCODE=-407, SQLSTATE=23502, SQLERRMC=SCHEME_TYPE, DRIVER=3.63.123
因此,我怀疑在此上下文中,错误代码意味着该列当前包含空值,在消除它们之前,不能向该列添加“notnull”约束

两种方式:

第一个:从表中删除列。使用NOTNULL重新创建

第二个:更新列='default value',其中列date=null并更改为null

两种方式:

第一个:从表中删除列。使用NOTNULL重新创建


第二个:更新列='default value',其中列date=null并更改为null

欢迎来到苏亚普拉卡什。以下几点可以帮助我们帮助您:1)请正确地提出您的问题,并附上正确的格式和本例中的代码。2) 一定要让我们知道你已经尝试了什么。这有助于我们避免在黑暗中拍摄。欢迎来到SO Jayaprakash。以下几点可以帮助我们帮助您:1)请正确地提出您的问题,并附上正确的格式和本例中的代码。2) 一定要让我们知道你已经尝试了什么。这有助于我们避免在黑暗中拍摄。