今天碰到一个问题:往mysql中插入数据,两条数据明明不一样,插入时却提示主键冲突,后来弄了半天才发现是建索引的时候,建成了unique索引,恰好建索引时只用了该列值的前12个字符,所以虽然插入时值虽然不一样,但是索引值(取前12个字符)却有可能一样,这时候也会导致插入失败,提示键冲突
解决办法
1.删除索引
DROP INDEX index_name ON talbe_name
2.重新创建非unique的索引
mysql 某列上增加索引
ALTER TABLE tableName ADD INDEX (columnName)
ALTER TABLE table_name ADD UNIQUE (column_list)
alter table tableName add unique index (column1(12),column2(10)); #多列索引,指定长度