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