У меня есть таблица с профилями. Если есть профиль для пользователя #: userId, я хочу ОБНОВИТЬ его. Если для этого пользователя нет профиля, я хочу ВСТАВИТЬ его. Я попробовал этот SQL запрос, но он не работает:SQL Query with ON DUPLICATE KEY UPDATE не работает
INSERT INTO profiles SET name = :name, website = :website, bio = :bio WHERE user = :userId ON DUPLICATE KEY UPDATE name = :name, website = :website, bio = :bio
«пользователь» является первичным ключом
EDIT: Я нашел ошибку в моем SQL, когда это выглядит так, он работает только штраф:
INSERT INTO profiles SET user = :userId, -- <-- mistake was here name = :name, website = :website, bio = :bio ON DUPLICATE KEY UPDATE name = :name, website = :website, bio = :bio
Спасибо, всем!
Вы сказали ** пользователь ** является основным ключом, но это не в вашем запросе. – McGarnagle