Pokud máte UNIQUE index ve sloupci, bez ohledu na to, co jste zkusili, RDMS nebude povolit duplikáty v tomto sloupci (kromě NULL hodnota).
Jak jste řekl, existuje řešení, jak zabránit "chybě", pokud se toto připojí. Pravděpodobně INSERT IGNORE ve vašem případě.
Každopádně INSERT a UPDATE upravit databázi. MySQL nikdy návratové hodnoty pro tyto příkazy. Jediný způsob, jak číst vaši DB, je použít SELECT prohlášení.
Zde je „řešení“ jednoduché, protože máte UNIQUE sloupec:
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