@targetologru

Как вставить или обновить строки в MySQL, если проверяем уникальность не по id?

5d98f47f02c91598688655.png

Есть такая таблица. В неё нужно записать посты из ВКонтакте, которые получаю по АПИ.
Однако, надо как-то проверять связку group_id и post_id, и если такая связка уже есть в базе, то пост надо обновить, иначе сделать новую запись.

Как это сделать?

И вторая задача, которая вытекает из первой. Все это надо делать массово по 100 строчек (100 постов за раз приходит)... Использую SafeMySQL в работе.

{Найдись, умный человек}
  • Вопрос задан
  • 88 просмотров
Решения вопроса 1
glaphire
@glaphire
PHP developer
1. Можно сделать unique ключ по group_id, post_id, если будете пытаться вставить такую строчку - будет кидаться ошибка mysql
2. Можно через foreach - SELECT * FROM table WHERE group_id = :group_id AND post_id = :post_id и если пусто - вставлять, если нашло строку - апдейтить. Оптимизировать можно потом, если выяснится что запрос поттупливает
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы