当前位置:数据库 > SQLServer >>

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
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,