我创建了一个表“测试”,我试图输入一些数据,但我得到一个错误。错误是错误:关系“test”的新行违反检查约束“test_status_check”细节:失败的行包含(5,2015-07-21,15:00:00,I7,9,NULL,NULL)。 我认为这是因为状态为空。因此,我试图把一个空的测试表,但仍然没有工作postgreSQL检查约束和空
Create table test(
clientID CHAR (20),
startDate date,
startTime time,
instructorNO CHAR(20),
centreID CHAR(20),
status CHAR(4) CHECK (status IN ('Fail','Pass')) NULL,
reason VARCHAR(400),
omitted...
)
ERROR:新行的关系“试验”违反了检查约束“test_status_check”详细信息:失败行包含(5,2015年7月21日,15:00:00,I7,9,NULL,NULL)。
是这个mysql还是postegresql? – BK435
Postgres 9.3接受你的语法,但是,真的是你想要的。 Postgres,MySQL和哪个版本? –
我删除了MySQL标签,因为标题清楚地表示PostgreSQL(并且上次我检查了,'CHECK'约束在MySQL中无法使用)。 –