mysql之uniquekey学习。

uniquekey就真的是唯一键了吗? 答案是不是的。可以允许多个重复null值的存在,版本5.73

CREATE TABLE `student_uniq` (
  `id` int(11) DEFAULT NULL,
  `name` varchar(200) DEFAULT NULL,
  `socre` int(11) DEFAULT NULL,
  UNIQUE KEY `s_uniq` (`socre`,`name`)
)

insert into student_uniq(id,name,score) values(1,null,1),(1,null,1)

 注意唯一键是score+name

 我插入了重复的数据 null 1 两条结果是成功

insert into student_uniq(id,name,socre) values(1,'',1),(1,'',1)

插入'' ,1 两条失败。

思考下null为什么允许重复插入呢?

个人猜想 因为null值代表一个未知的值 它和0 '' 空表示的意义不一样,0这种都是固定的值,而null代表一个不固定的值。 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值