SQL NOT NULL 约束语法与not null实例
SQL NOT NULL 约束语法与not null实例
如果我们创建一个表
CREATE TABLE aa
(
Id_P int NOT NULL,
LName varchar(250) NOT NULL,
FName varchar(25),
Ass varchar(25),
C varchar(205)
)
NOT NULL 约束强制列不接受 NULL 值。
NOT NULL 约束强制字段始终包含值。这意味着,如果不向字段添加值,就无法插入新纪录或者更新记录。
下面的 SQL 语句强制 "Id_P" 列和 "LastName" 列不接受 NULL 值:
Allow NULL是列定义的基本属性。当然要定义Primary Key就必须将Allow NULL设置为False。
下面我们来看一网友提问www.zzzyk.com
我想知道这个not null 在数据库教程中是个约束还是个属性,我想是约束吧?
既然像主键,外键,unique,check等约束都可以通过sql语句添加,我想知道怎么实现为列添加not null约束。即我在定义的时候没有为密码列pwd定义not null约束,现在想通过sql语句修改,请问我可以怎样修改,麻烦知道的朋友详细说一下
ALTER TABLE [表名] ALTER COLUMN [列名] 数据类型(长度) NOT NULL如:ALTER TABLE [t_m_member] ALTER COLUMN [vch_memberno] varchar(50) NOT NULL
问题二
我是个sql server初学者,看书的时候看到这样一个例子/*例5-13 建立一个S2表,对SNO字段进行NOT NULL约束。
程序清单如下
Use db
CREATE TABLE S2
(SNO CHAR(10) CONSTRAINT S_CONS NOT NULL,
SN VARCHAR(20),
AGE INT,
SEX CHAR(2) DEFAULT '男' ,
DEPT VARCHAR(20)) 我有点奇怪:1.为什么要在not null前面加个约束名呢?我看过的一些例子都是直接在字段名后面接not null或null的呀,
2.例子中的age字段为什么没有加任何约束,null或not null也没加,这是为什么呢,是不是什么时候可以省略不写null或not null呢?
解决方法
SQL 默认情况下
AGE INT = AGE INT null
DEPT VARCHAR(20)=DEPT VARCHAR(20) null
SNO CHAR(10) CONSTRAINT S_CONS NOT NULL
这种写法是多余
改为SNO CHAR(10) NOT NULL
补充:数据库,Mssql