Jika Anda memiliki UNIQUE indeks pada kolom, apa pun yang Anda coba, RDMS tidak izinkan duplikat di kolom itu (kecuali untuk NULL nilai).
Seperti yang Anda katakan, ada solusi untuk mencegah "kesalahan" jika ini ditambahkan. Mungkin INSERT IGNORE dalam kasus Anda.
Pokoknya, INSERT dan UPDATE memodifikasi basis data. MySQL tidak pernah mengembalikan nilai untuk pernyataan ini. Satu-satunya cara untuk membaca DB Anda adalah dengan menggunakan SELECT pernyataan.
Di sini "solusi" sederhana, karena Anda memiliki UNIQUE kolom:
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