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