sql >> Database teknologi >  >> RDS >> Mysql

MYSQL:Får du en eksisterende primær nøgle, når du indsætter post med dublet unik nøgle?

Hvis du har en UNIQUE indeks på en kolonne, uanset hvad du prøvede, vil RDMS ikke tillad dubletter i den kolonne (undtagen NULL værdi).

Som du sagde, er der en løsning for at forhindre "fejl", hvis dette tilføjes. Sandsynligvis INSERT IGNORE i dit tilfælde.

Anyway, INSERT og UPDATE ændre databasen. MySQL aldrig returnere værdier for disse udsagn. Den eneste måde at læse din DB på er at bruge en SELECT erklæring.

Her er "løsningen" enkel, da du har en UNIQUE kolonne:

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


  1. android listevisning opdatere/opdater data uden at lukke appen

  2. ORA - 00933 forveksling med indre sammenføjning og som

  3. Sådan indsætter du værdier i en IDENTITY-kolonne i SQL Server

  4. database spørgsmål i sql