SQL Server | Mysql 对表的unique 的实现方式

在ANSI SQL 标准中unique 有两种实现方式

  1、是可以插入多个空值、也就是说多个null值看成是互不相同的。

  2、是只可以插入一个空值,也主是说把所有的空值看也是相同的。

在SQL Server  |  MySQL 中实现的是第二种标准。

例子:(代码以SQL server 的语法为例)

  create table tmp(x int primary key , y int );

  alter table   tmp add constraint unique_cons unique(y);

  insert into tmp(x,y) values(1,null); 

  insert into tmp(x,y) values(2,null);  这里就不行了 也就是说当插入第二个null 时两个null 会被当成同一个值。 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。