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'
);