非空约束对数据插入的影响

正如“非空约束”表达的意思,如果对一个字段添加了非空约束,那么我们是不能向这个字段中插入NULL值的。T_Debt表的FAmount字段是有非空约束的,如果我们执行下面SQL:


INSERT INTO T_Debt (FNumber, FPerson) VALUES ("1", "Jim")

这句SQL中没有为字段FAmount赋值,也就是说FAmount为空值。我们执行这句SQL以后数据库系统会报出类似如下的错误信息:

不能将值NULL 插入列"FAmount",表"demo.dbo.T_Debt";列不允许有空值。INSERT失败。

如果我们为FAmount 设置非空值的话,则会插入成功,执行下面的SQL:

INSERT INTO T_Debt (FNumber,FAmount, FPerson) VALUES ("1",200, "Jim")

此句SQL则可以正常的执行成功。执行SELECT * FROM T_Debt来查看表中的数据:

原文地址:https://www.cnblogs.com/yuyu666/p/9819982.html

时间: 2024-08-10 23:47:25

非空约束对数据插入的影响的相关文章

非空约束对数据更新的影响

正如“非空约束”表达的意思,如果对一个字段添加了非空约束,那么我们是不能将这个字段中的值更新为NULL的.T_Debt表的FAmount字段是有非空约束的,如果我们执行下面SQL: UPDATE T_Debt set FAmount = NULLWHERE FPerson="Tom" 这句SQL为FAmount 设置空值.我们执行这句SQL以后数据库系统会报出类似如下的错误信息: 不能将值NULL 插入列"FAmount",表"demo.dbo.T_Deb

聚簇索引对数据插入的影响

聚簇索引对数据插入的影响 背景 开发人员反馈系统执行某存储过程特别慢,经排查是由于存储过程执行过程中需要向新建的任务表插入大量数据,该任务表的主键是聚簇索引造成的.聚簇索引为什么会导致插入慢呢?聚簇索引会对数据插入造成多大影响呢? 原理 在非聚簇索引中,物理数据的存储顺序与索引不同,索引的最低级别包含指向数据页上的行的指针. 在聚簇索引中,物理数据的存储顺序与索引相同,索引的最低级别包含实际的数据页.聚簇索引导致数据记录必须按照键大小顺序存储,插入和删除须进行移动数据记录,导致额外的磁盘IO.

MYSQL约束 -- not null 非空约束

2.not null 非空约束 用于确保当前列的值不为空:在创建表时,如果不指定是否可以为空,字段默认可以为NULL. -- 这是上一篇默认约束创建的表 CREATE TABLE `test`.`user`( `id` INT(11) NOT NULL AUTO_INCREMENT COMMENT 'id', `name` VARCHAR(225) NOT NULL COMMENT '姓名', -- 这里添加了NOT NULL `sex` TINYINT(1) DEFAULT 1 COMMENT

非空约束

在定义数据表的时候,默认情况下所有字段都是允许为空值的,如果需要禁止字段为空,那么就需要在创建表的时候显示指定.指定一个字段为空的方式就是在字段定义后增加NOT NULL,比如下面的SQL语句创建了表T_Person,并且设置FNumber 字段不允许为空: MYSQL,MSSQLServer,DB2: CREATE TABLE T_Person (FNumber VARCHAR(20) NOT NULL ,FName VARCHAR(20),FAge INT) Oracle: CREATE T

Oracle数据库,非空约束、主键约束、外键约束、唯一约束

非空约束:设置列时,可为空默认可为空,去掉对号之后设置数据不可为空: 唯一约束:在键中设置,唯一约束名称.类型Unique.列名:设置应用完成之后,此列数据具有唯一性:即数据不可重复 主键约束:主键列自动具有非空约束和唯一约束,一个表只能有一个主键约束(自动生成索引,提高查询效率)

mySQL 约束 (Constraints):一、非空约束 NOT NULL 约束

非空约束 NOT NULL 约束: 强制列不能为 NULL 值,约束强制字段始终包含值.这意味着,如果不向字段添加值,就无法插入新记录或者更新记录. 1.在 "Persons" 表创建时在 Id列.name列创建 not null 约束: create table Persons(id int not NULL,p_name varchar(20) not null, deparment varchar(20),address varchar(20),telNum varchar(20

MySQL之非空约束(NOT NULL)

定义: MySQL非空约束(NOT NULL)可以通过 CREATE TABLE 或 ALTER TABLE 语句实现.在表中某个列的定义后加上关键字 NOT NULL 作为限定词,来约束该列的取值不能为空.非空约束(Not Null Constraint)指字段的值不能为空.对于使用了非空约束的字段,如果用户在添加数据时没有指定值,数据库系统就会报错. 设置非空约束: 1.在创建数据表时设置非空约束 语法规则如下: CREATE TABLE <数据表名> <字段名><数据类

oracle添加,修改非空约束

NOT NULL约束就是非空约束,经常会在创建表的时候添加非空约束以保证字段必须要输入值 (1)创建表时添加NOT NULL约束 语法: CREATE TABLE 表名( 字段   类型  NOT NULL ........ ); 实例:  CREATE TABLE MANAGERINFO( MANAGERID VARCHAR2(10), LOGINNAME VARCHAR2(10) NOT NULL, PASSWORD VARCHAR2(10) NOT NULL, NAME VARCHAR2(

使用非空约束

非空约束指字段的值不能为空,如果为空则报错 mysql> CREATE TABLE tb_emp6    -> (    -> id INT(11) PRIMARY KEY,    -> name VARCHAR(25) NOT NULL,   # 指定员工的名称不能为空    -> deptId INT(11),    -> salary FLOAT    -> );