随笔34号20181009-mysql超长度+索引字段长度限制

今天碰到一个sql报错,Duplicate entry 'xxxx' for key 'xxxx'

唯一索引重复了,实际上没重复,后来得知是因为数据长度超出了字段长度,mysql直接截断存了。

发生问题的原因是字段长度不足,我代码逻辑中不会截断,所以我会判断这是个新的数据而不是以前就存在的老数据,所以没有走更新逻辑而是插入逻辑,但是插入的时候mysql会截断后存储,导致我这条数据存的是截断后的数据,每次代码逻辑都进插入逻辑,但是被截断后唯一索引都会重复。


改的时候也遇到问题,不能改成varchar500,,因为索引中的字段不能超过255

报的错:Specified key was too long; max key length is 767 bytes

mysql 索引长度限制详解

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容