если значение поменялось - апдейтить на новое и в соседний столбец обновлять дату
как это правильно прописать в сыром sql используя on conflict do?
что значит "если значение поменялось"?
INSERT ... ON CONFLICT DO UPDATE SET ... WHERE ... https://www.postgresql.org/docs/9.5/sql-insert.html
ну например я пишу с отаблицу строку состощую из [имя, адрес, телефон, дата апдейта] примари кей = имя(например) если записывается строка с таким же примари кей, нужно проверить соответствует ли номер телефону, который я хочу записать, если значение одинаковое - просто пропускать, если нет, перезаписать и в колонку "дата апдейта" обновить дату
ну вон выше я ответил
так у тебя в в любом случае получается апдейт проходит, а мне нужно только в том случае, если номер, который у меня и номер который в базе - не совпадают
ты условие видишь нет?
ну вижу ON CONFLICT DO UPDATE SET ... WHERE ...
видимо либо я тебя не понимаю, либо ты меня мне не нужно что бы на каждом конфликте шел апдейт, мне нужно только в том случае, если номера разные
UPDATE SET .... WHERE id = <id> AND phone != <phone>
так понял, спасибо, попробую
Название таблицы забыл
не забыл.
кажется там id = <id> даже не нужно. достаточно phone != <phone>, но ты проверь
и проапдейтить все записи в таблице?
вы, долбоебы, совсем не читаете тред прежде чем влазить со своими умными замечаниями?
начиная отсюда хинт: речь шла все время про INSERT ... ON CONFLICT DO UPDATE
Так зачем сразу пригорать, жечь стул и выходить на орбиту? Мимикрокодилу адекватно пояснить нельзя?
Обсуждают сегодня