Si vous avez un UNIQUE index sur une colonne, peu importe ce que vous avez essayé, le RDMS ne le fera pas autoriser les doublons dans cette colonne (sauf pour le NULL valeur).
Comme vous l'avez dit, il existe une solution pour éviter les "erreurs" si cela s'ajoute. Probablement INSERT IGNORE dans votre cas.
Quoi qu'il en soit, INSERT et UPDATE modifier la base de données. MySQL jamais valeurs de retour pour ces instructions. La seule façon de lire votre DB est d'utiliser un SELECT déclaration.
Ici, la "solution de contournement" est simple, puisque vous avez un UNIQUE colonne :
INSERT IGNORE INTO tbl (pk, sha_key) VALUES ( ... ), ( ... );
SELECT pk, sha_key FROM tbl WHERE sha_key IN ( ... );
-- ^^^
-- Here the list of the sha1 keys you *tried* to insert