MySQL踩坑系列之2唯一索引之大坑
目录背景先模拟下背景原因如何避免呢?后记
背景
上班时间正在悠闲的划水,突然有研发同学找到我说你们提供的MySQL有BUG,唯一索引为啥能够允许相同的值插入呢,挺多这么一说,我已经大概拆到是什么问题了先模拟下背景
表结构:CREATETABLEt1(idbigint(20)NOTNULLAUTOINCREMENT,namevarchar(30)DEFAULTNULLCOMMENTname,PRIMARYKEY(id),UNIQUEKEYname(name))ENGINEInnoDBDEFAULTCHARSETutf8mb4;
内容insertintot1(id,name)values(1,aaa);insertintot1(id,name)values(2,bbbb);insertintot1(id,name)values(3,null);insertintot1(id,name)values(4,null);insertintot1(id,name)values(5,null);insertintot1(id,name)values(6,null);insertintot1(id,name)values(7,null);insertintot1(id,name)values(8,null);insertintot1(id,name)values(9,null);
效果展示,研发同学就说,我命设置的是唯一索引,你的数据库为啥允许重复的数据插入呢?
原因
在mysql的innodb引擎中,是允许在唯一索引的字段中出现多个null值的。
根据NULL的定义,NULL表示的是未知,因此两个NULL比较的结果既不相等,也不不等,结果仍然是未知。根据这个定义,多个NULL值的存在应该不违反唯一约束,所以是合理的,在oracel也是如此,但是SQLserver是不允许多个null插入的。如何避免呢?
不允许列出现null值,即notnull,给列增加default值,注意default值不能是null。
这个也是我们要养成良好的建表习惯。
记住MySQL的一句话,能不null就不null!!!后记
给研发小伙伴讲明白之后,小伙伴恍然大悟,说MySQL这个也一个大坑。解释明白后,我也愉快的划水去了。
又是一年记者节写在2022年11月8日今天,是记者节。作为曾经的记者的自己,今天出征了。我和我的同事乘着冲锋舟,在茫茫起伏跌宕不羁的大海上冲浪,驰骋在蓝色的国土上。前方,起伏跌宕的海水,一波波起舞,我们的小舟像一片树叶
美丽兰州黄河之城吃牛肉面游黄河美食之城黄河如同一天金色的巨龙穿过兰州,城市的南北群山环抱,依山傍水,得天独厚的地理条件让人不禁产生了,这不是大西北的错觉,要在5000年前就有先民在此繁衍生息,并成为了古代丝绸之路上的重
黄河故事党得柱与夏得捞黄河是中华民族的母亲河,中国的第二长河。滋润着大地哺育着人民,成为人类文明发展的摇篮。可历史上黄河是多灾多难的灾河,经常发大水,泛滥成灾,三年两决口,五年一改道,给黄河中下游人民带
游玩or疗伤?这个乐高庇护所,都能满足你的愿望各位朋友们大家好啊,几篇森宝积木实测过后,小李er又回到了LEGOIDEAS,继续为大家带来一线的创意情报。来看看最近又有什么优秀的创意作品上传吧。这次咱们要来看的作品是由TheC
2022年春天记事之六作者晴天鲜花满山的杨梅小镇4月14日,有人介绍杨梅小镇的玫瑰月季花在盛开,于是,我们便驱车前去赏花。导航一个多小时,几经周折,终于到了乡村境界,下车询问村民,得知这里就是天府新区杨
11月7日,巴中新增29,活动轨迹公布疫情概况11月7日0时至24时,我市新增本土确诊病例2例(均为轻型),新增无症状感染者9例,无新增疑似病例。新增确诊病例活动轨迹向上滑动阅览新增病例1确诊病例(轻型)11月2日08
大海上也能种树?央视带你踏上福建面积最大的海上森林万亩茶田勾勒出独特的闽南风光鲜活海鲜造就奇妙的美食江湖海上森林衍生了神奇的海上世界CCTV1正大综艺带你走进文化和旅游部发布的全国乡村旅游重点镇之福建省厦门市同安区莲花镇漫步高山茶
足不出沪乐享幸福时光!宝山这个国家级湿地公园等你来打卡假期不必远行在家门口就能乐享幸福时光位于宝山区的吴淞炮台湾国家湿地公园是国家AAAA级旅游景区全国科普教育基地国家级湿地公园得天独厚的地理位置和自然风貌可别错过噢LOVEYOURS
202208日报小冰完成10亿元融资,AI算法竞赛击败一半程序员1。资讯小冰公司升级人工智能数字员工(AIBeingEmployee)产品线小冰已完成总额10亿元新融资,用于加速AIBeing框架技术研发升级加强,包括大模型对话引擎3D神经网络
冷门绝佳好玩的几款APP,每一款都是心头爱总有那么几款好玩有趣的软件被淹没在茫茫应用市场里,今天就给大家推荐几款冷门但好玩的App,每一款都值得一试!1。小鸡词典以前的网络热梗一年也更新不了几次,现在的网络热梗一天就能曝出
AI研究员5重境界品读大佬余老师对于人类主动研究员5重境界,我也斗胆谈一下对AI研究员的看法,大体上有5个层次1懂得区分和分解Beta与Alpha,理解各种底层Beta是什么,有能力通过各种不同的视