них есть цена, ссылка, например, ещё что-то. База пополняется раз в какое-то время и для того, чтобы не дублировать позиции, есть столбец с уникальным значением(в данном случае это урл). Postgres предоставляет нам очаровательнейший инструмент DO CONFLICT, благодаря которому мы можем делать условно что-то такое: 'INSERT INTO ads (name, link, price, address, date) VALUES ($1, $2, $3, $4, $5) ON CONFLICT (link) DO UPDATE SET price = $3, date = $5'
Я правильно понимаю, что у меня не будет задвоения в базе, дублей не будет? Потому как если он найдён аналогичную по значению link штуку, то лишь обновит её отдельно указанные значения
он конфликт срабатывает при попытки удвоить уникальный ключ, как бы логично
Обсуждают сегодня