How is it possible we have rows in the database that violate a unique constraint?
My thought is that the constraints were disabled during the load. This allows for faster insert of data but can cause issues like this. 

If you have UNIQUE constraints on secondary keys, you can speed up table imports by temporarily turning off the uniqueness checks during the import session:

SET unique_checks=0;
... SQL import statements ...
SET unique_checks=1;


For big tables, this saves a lot of disk I/O because InnoDB can use its change buffer to write secondary index records in a batch. Be certain that the data contains no duplicate keys.