Я пытаюсь написать запрос, чтобы проверить, существует ли запись (на основе пары предложений, а не уникального идентификатора), если такой поиск возвращает записи, мне нужно обновить все найденные записи, если ничего не найдено, тогда мне нужно ВСТАВИТЬ запись. Обратите внимание, что я не могу использовать IF EXISTS, потому что я пытаюсь сделать запрос для сценария на стороне клиента, а не на стороне сервера. Вот и пришла мне в голову идея INSERT INTO.... ON DUPLICATE KEY
Могу ли я сделать это, не зная идентификатора ключа строки? Поэтому, если я найду запись, в которой accountid = 17 и имя = «Майк», обновите ее, чтобы сделать имя «Майк А», если нет записи с этими двумя пунктами, а затем вставьте запись.
Это попытка, которая дает мне синтаксическую ошибку
INSERT INTO test (name, accountid) VALUES ('Mike', 17)
ON DUPLICATE KEY
UPDATE test SET name='Mike A' WHERE name ='Mike' AND accountid = 17
Может ли этот метод справиться с тем, что я пытаюсь сделать? Если да, то не могли бы вы исправить мой синтаксис?
Спасибо