Jeśli masz UNIQUE
indeks w kolumnie, bez względu na to, co próbowałeś, RDMS nie zezwól na duplikaty w tej kolumnie (z wyjątkiem NULL
wartość).
Jak powiedziałeś, istnieje rozwiązanie zapobiegające „błędowi”, jeśli ten się pojawi. Prawdopodobnie INSERT IGNORE
w twoim przypadku.
W każdym razie INSERT
i UPDATE
modyfikować bazę danych. MySQL nigdy zwracają wartości dla tych instrukcji. Jedynym sposobem na odczytanie bazy danych jest użycie SELECT
oświadczenie.
Tutaj „obejście” jest proste, ponieważ masz UNIQUE
kolumna:
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