《数据库系统概论》(第5版)P120:

3.空值的约束条件

属性定义(或者域定义)中有NOT NULL约束条件的不能取空值,码属性不能取空值。
课件中:空值的约束条件为:

有NOT NULL约束条件的不能取空值

加了UNIQUE限制的属性不能取空值

码属性不能取空值

关于“加了UNIQUE限制的属性不能取空值”,创建表时,将属性设置为unique null约束。
MySQL8.0.22版本:

create table Book
(
Bookid varchar(20) primary key not null,
Bookname varchar(40) unique,
Typeid int,
Author varchar(30),
Price varchar(10),
Regdate datetime,
State varchar(10),
constraint fk_图书分类 foreign key (Typeid) references Booktype(Typeid)
);
INSERT INTO book VALUES ('141701', null, '1', '乔斯坦·贾德', '38', '20171010', '可借');
INSERT INTO book VALUES ('141702', null, '1', '乔斯坦·贾德', '38', '20171010', '可借');

两个插入语句均执行成功,查询:

select * from book;

结果如下图:


在SQL server 2014中,设置Cname为unique null约束,

执行代码:

insert into Course values('16020022',null,48,3);

成功,
插入:

insert into Course values('16020024',null,48,3);

失败,错误提示为:


查询显示:


若将属性定义为unique not null,则MySQL和SQL Server中均不允许插入空值。
MySQL中:

SQL Server中:

空值的约束条件之unique约束相关推荐

  1. oracle添加unique,Oracle unique约束的创建步骤

    以下的文章主要是讲述Oracle中创建unique***约束 (单列和多列)的实际操作方案,Oracle unique约束其实就是用来保证其表里的某一类,或是使表中的某一类组合起来时不重复的一种手段. ...

  2. oracle删除unique key,概述Oracle Unique约束

    Oracle还是比较常用的,于是我研究了一下Oracle Unique约束,在这里拿出来和大家分享一下,希望对大家有用.如果某个约束只作用于单独的字段,即可以在字段级定义约束,也可以在表级定义约束,但 ...

  3. oracle 添加unique,oracle的unique约束

    unique约束是唯一性约束,对于需要列类型应用程序会重复出现分歧值.您可以加入一个单独的列unique约束.能够加入多个列unique约束().假设为多个列加入一个unique约束,仅仅须要保证这多 ...

  4. sql唯一约束怎么设置_20200923 SQL UNIQUE 约束

    SQL UNIQUE 约束 UNIQUE 约束唯一标识数据库表中的每条记录. UNIQUE 和 PRIMARY KEY 约束均为列或列集合提供了唯一性的保证. PRIMARY KEY 拥有自动定义的 ...

  5. 阻止表中出现重复项——SQL UNIQUE 约束

    问题:表中存在primary Key ,但是还是有重复项出现(不考虑程序过滤) 例如: ArticleTags表(是Article和Tags的关联表) id(primary key)         ...

  6. 列中的空值违反了非空约束_管理社区中违反准则的情况

    列中的空值违反了非空约束 You run an active (or maybe not-so-active) community. You have a vision for this commun ...

  7. sql server unique约束的增加与删除

     首先,创建一张表table_a CREATE TABLE [dbo].[table_a](  [aID] [int] NULL,  [aNum] [int] NULL ) ON [PRIMARY ...

  8. mysql中字段约束unique_什么是MySQL UNIQUE约束,我们如何将其应用于表的字段?

    顾名思义,MySQL UNIQUE约束保持表中列的唯一性,并且不允许插入重复值.基本上,UNIQUE约束创建索引,以使索引列中的所有值必须唯一.此处需要提及的是,我们在一个MySQL表中可以有多个UN ...

  9. CREATE TABLE 时的 SQL UNIQUE 约束

    CREATE TABLE 时的 SQL UNIQUE 约束 下面的 SQL 在 "Persons" 表创建时在 "P_Id" 列上创建 UNIQUE 约束: M ...

最新文章

  1. 织梦直接写php标签,非常实用的织梦dede所有标签调用方法大全 .
  2. C++/STL Bitset (转)
  3. 0x08 大数据分析,七层基本功
  4. apache下php无法连接mysql问题的解决
  5. 592zn rom/apk 自动签名工具_关于邮件签名证书的常见问题
  6. 如何清除图片下方出现几像素的空白间隙?
  7. 持有1000枚比特币及以上的地址数量创历史新高
  8. CCF201903-2 二十四点(100分)【表达式计算】
  9. jquery 控制frameset frame节点内容(在子窗口中把该窗口中的焦点处的text内容填
  10. Javascript:ES6语法简述
  11. 前端开发面试题收集 JS
  12. 无数本高清古籍善本下载,200多个G
  13. 基于bootstrap拖拽布局完成的web表单设计器
  14. 8个免费恶搞照片在线生成网站
  15. Fast-Paced Multiplayer (Part I): Introduction
  16. 我的世界局域网游戏环境搭建
  17. 计算机页面里的坚果云删不了怎么回事,我的坚果云文件夹为什么无法删除
  18. Data-driven methods for solving algebra word problems论文阅读
  19. A Weakly Supervised Convolutional Network for Change Segmentation and Classification
  20. andriod ffmpeg

热门文章

  1. python数据类型有序无序,python数据类型有序无序_python中的有序和无序类别变量...
  2. 笔记 | gamma分布
  3. 不需要密码卸载Symantec Endpoint Protection
  4. element date-picker range类型时间选择器 限制选中前后7天的时间的方法
  5. EventTarget.addEventListener()事件监听
  6. python基础知识集(三)
  7. javac ‘javac‘ 不是内部或外部命令,也不是可运行的程序 的解决办法
  8. tensorflow报错Can not squeeze dim[1], expected a dimension of 1, got n for解决办法
  9. python基础:廖雪峰的官方网站Python(部分)笔记
  10. java去除水印_易剪辑,分享一款免费的去除水印的工具