U kunt INSERT... IGNORE gebruiken syntaxis als u geen actie wilt ondernemen wanneer er een dubbele record is.
U kunt VERVANGEN IN gebruiken syntaxis als u een oud record wilt overschrijven door een nieuw record met dezelfde sleutel.
Of u kunt INSERT... ON DUPLICATE gebruiken BELANGRIJKE UPDATE syntaxis als u in plaats daarvan een update van de record wilt uitvoeren wanneer u een duplicaat tegenkomt.
Bewerken:ik dacht dat ik wat voorbeelden zou toevoegen.
Voorbeelden
Stel dat u een tabel heeft met de naam tbl
met twee kolommen, id
en value
. Er is één invoer, id=1 en waarde=1. Als u de volgende instructies uitvoert:
REPLACE INTO tbl VALUES(1,50);
U heeft nog één record, met id=1 waarde=50. Merk op dat het hele record echter eerst werd VERWIJDERD en vervolgens opnieuw werd ingevoegd. Dan:
INSERT IGNORE INTO tbl VALUES (1,10);
De bewerking wordt met succes uitgevoerd, maar er wordt niets ingevoegd. Je hebt nog steeds id=1 en value=50. Eindelijk:
INSERT INTO tbl VALUES (1,200) ON DUPLICATE KEY UPDATE value=200;
U heeft nu één record met id=1 en value=200.