Виждам, че сте решили проблема си, но за да отговоря на първоначалния си въпрос:
REPLACE INTO не има WHERE клауза.
REPLACE INTO синтаксисът работи точно като INSERT INTO с изключение на това, че всички стари редове със същия първичен или уникален ключ се изтриват автоматично, преди да се вмъкне новият ред.
Това означава, че вместо WHERE клауза, трябва да добавите първичния ключ към стойностите, които се заменят, за да ограничите актуализацията си.
REPLACE INTO myTable (
myPrimaryKey,
myColumn1,
myColumn2
) VALUES (
100,
'value1',
'value2'
);
...ще осигури същия резултат като...
UPDATE myTable
SET myColumn1 = 'value1', myColumn2 = 'value2'
WHERE myPrimaryKey = 100;
...или по-точно:
DELETE FROM myTable WHERE myPrimaryKey = 100;
INSERT INTO myTable(
myPrimaryKey,
myColumn1,
myColumn2
) VALUES (
100,
'value1',
'value2'
);