【发布时间】:2017-08-29 13:32:34
【问题描述】:
我尝试使用 alter 命令,它会像 ALTER TABLE MODIFY NOT NULL;及其工作 那么为什么我们不能在表级别添加(CREATE TABLE (COL1 DATATYPE(SIZE),COL2 DATATYPE(SIZE), CONSTRAINT TN_COL1_NN NOT NULL(COL1));?
【问题讨论】:
-
这就是
NOT NULL约束的含义。列可以有NULL值。没有“NULL”表之类的东西。 -
你可以假设一个表根据定义具有 NOT NULL 属性,因为它可能根本没有行:P 无论如何,这样的概念没有多大意义
-
我的意思是,例如,主键约束可以添加到三个级别(COLUMN、TABLE 和 ALTER)。类似地,我们可以添加所有其余的约束在三个级别,为什么我们不能添加NOT NULL?
-
我们可以通过 CREATE TABLE 和 ALTER TABLE TABLE_NAME MODIFY ...!
-
这是一个有效的问题。由于已关闭,我将在此处发布我的答案:
NULL/NOT NULLare not 约束。它们是数据类型定义。声明为CHAR(10) NOT NULL的列属于type“不可为空的字符”。您可以使用系统元数据视图验证这一点,添加了 no 约束。
标签: sql constraints notnull