【请教】关于mysql设置了unique key被插入重复记录的疑惑
向雅 2014-05-04 07:00:12 HI,各位:
有一问题没搞明白,特此请教,望指教!谢谢!
我有一个mysql的表A,创建了唯一索引,UNIQUE KEY `iindex` (`name`,`fdate`,`id`)
然后这个表中的数据是通过sqoop从hadoop上导入的,由于更新了hadoop的部分数据,导入过程执行了2次。
结果发现,在这个mysql的表A中,竟然在UNIQUE KEY字段上出现了重复记录,比如,name=wuhan,fdate=2014-05-03,id=333这样的记录有2条一模一样的。发现后再次测试,仍然如此,多次导入后有3条,4条重复的记录。
而实际上mysql表A的这个唯一索引是生效的的,当我手工进行insert时会提示duplicate entry 重复键无法插入。
我现在疑惑的是,sqoop在进行export的时候也是进行的insert A values ('wuhan','2014-05-03','333'),('wuhan','2014-05-03','444').....,这样的操作,
mysql的这个UNIQUE KEY约束应该是在任何insert情况下都会进行检查的吧?为什么这里会导入重复记录呢?
有UNIQUE KEY的表,会在什么情况下被插入重复记录呢?
谢谢!