Wenn Sie einen UNIQUE
haben Index für eine Spalte, egal was Sie versucht haben, das RDMS wird nicht erlaubt Duplikate in dieser Spalte (mit Ausnahme von NULL
Wert).
Wie Sie sagten, gibt es eine Lösung, um "Fehler" zu verhindern, wenn dies angehängt wird. Wahrscheinlich INSERT IGNORE
in Ihrem Fall.
Wie auch immer, INSERT
und UPDATE
die Datenbank ändern. MySQL nie Rückgabewerte für diese Anweisungen. Die einzige Möglichkeit, Ihre DB zu lesen, ist die Verwendung eines SELECT
Aussage.
Hier ist der "Workaround" einfach, da Sie einen UNIQUE
haben Spalte:
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