【发布时间】:2020-04-15 15:01:57
【问题描述】:
在将 NULL 值插入定义为 NOT NULL WITH DEFAULT 值的列时遇到问题。 在此示例中,出于说明目的,我删除了大部分列。
CREATE TABLE
FKTIM04
(
OBJECTID CHARACTER(32) NOT NULL,
UP_CHANGE_CL CHARACTER(1) DEFAULT '1' NOT NULL,
UP_CTRL_CL CHARACTER(1) DEFAULT '0' NOT NULL,
CONSTRAINT PK_FKTIM04 PRIMARY KEY (OBJECTID)
);
当我执行这条SQL语句时,出现错误:
INSERT INTO KTI.FKTIM04 (
UP_Change_CL
,UP_ctrl_CL
,ObjectID
)
VALUES (
NULL
,NULL
,'UMSTM0LW8A8Z50DT4WA7U93EEQDRXRTH'
)
错误:
[代码:-407,SQL 状态:23502] 将 NULL 值分配给 NOT 不允许使用 NULL 列“TBSPACEID=2,TABLEID=1298,COLNO=46”。 SQLCODE=-407, SQLSTATE=23502, DRIVER=4.22.29
我知道该列被定义为 NOT NULL。如果它试图在列中插入一个 NULL,它不应该取 DEFAULT 值吗?
请教我如何获取要插入的默认值。 我应该注意什么?
谢谢。
【问题讨论】:
标签: sql db2 default-value notnull