Insert records als ze nog niet bestan

Status
Niet open voor verdere reacties.

knowaround

Nieuwe gebruiker
Lid geworden
15 apr 2011
Berichten
2
Op de een of andere reden zijn er een aantal records uit een tabel verwijdert. Nu heb ik nog een oude backup, en wil ik alleen de records invoegen die missen.

De backup bestaat uit de volgende opbouw:
INSERT INTO `resultaten` VALUES (855,75,15,'',2,4,'+0:05.92',0,NULL,0,'0000-00-00 00:00:00'),(856,79,22,'',2,12,'+0:42.66',0,NULL,0,'0000-00-00 00:00:00'), etc.

De tabel heeft als eerste kolom een uniek ID --> genaamd 'ID'. (in bovenstaand voorbeeld is dit dus 855 en 856)

Nu weet ik alleen niet welke query ik moet gebruiken. Ik heb onder andere het volgende geprobeerd:

INSERT INTO `resultaten` VALUES (855,75,15,'',2,4,'+0:05.92',0,NULL,0,'0000-00-00 00:00:00'),(856,79,22,'',2,12,'+0:42.66',0,NULL,0,'0000-00-00 00:00:00'), etc.
WHERE NOT exists (select * from `resultaten` As dump Where dump.id = resultaten.id);

Maar dan geeft die dus een error, echter weet ik niet precies hoe de syntax wel moet. Hopelijk kan iemand hiermee helpen. Alvast hartelijk dank!
 
Laatst bewerkt:
Je kunt INSERT IGNORE gebruiken, ervan uitgaande dat je een primary ID hebt of dubbelen om een andere reden niet toegestaan zijn.

[sql]
INSERT IGNORE INTO tabel ( veld1, veld2 )
VALUES ( 'data1', 'data2' )
[/sql]
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan