Si tienes un UNIQUE
índice en una columna, sin importar lo que haya intentado, el RDMS no permitir duplicados en esa columna (excepto NULL
valor).
Como dijiste, hay una solución para evitar el "error" si esto se agrega. Probablemente INSERT IGNORE
en tu caso.
De todos modos, INSERT
y UPDATE
modificar la base de datos. MySQL nunca valores devueltos para estas declaraciones. La única forma de leer su base de datos es usar un SELECT
declaración.
Aquí la "solución alternativa" es simple, ya que tiene un UNIQUE
columna:
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