Ik zie dat je je probleem hebt opgelost, maar om je oorspronkelijke vraag te beantwoorden:
REPLACE INTO
doet niet hebben een WHERE
clausule.
De REPLACE INTO
syntaxis werkt precies zoals INSERT INTO
behalve dat alle oude rijen met dezelfde primaire of unieke sleutel automatisch worden verwijderd voordat de nieuwe rij wordt ingevoegd.
Dit betekent dat in plaats van een WHERE
clausule, moet u de primaire sleutel toevoegen aan de waarden die worden vervangen om uw update te beperken.
REPLACE INTO myTable (
myPrimaryKey,
myColumn1,
myColumn2
) VALUES (
100,
'value1',
'value2'
);
...geeft hetzelfde resultaat als...
UPDATE myTable
SET myColumn1 = 'value1', myColumn2 = 'value2'
WHERE myPrimaryKey = 100;
...of preciezer:
DELETE FROM myTable WHERE myPrimaryKey = 100;
INSERT INTO myTable(
myPrimaryKey,
myColumn1,
myColumn2
) VALUES (
100,
'value1',
'value2'
);