powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Как изменить последнюю запись с определённым неуникальным значением?
6 сообщений из 6, страница 1 из 1
Как изменить последнюю запись с определённым неуникальным значением?
    #39576181
Sadrutdin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: xml
1.
2.
3.
4.
5.
6.
CREATE TABLE new_history (
    start timestamp with time zone DEFAULT now() NOT NULL,
    uuid character(36) NOT NULL,
    phone character(11) NOT NULL,
    finish timestamp with time zone
);



Нужно указать время завершения заказа (может вообще не завершится) с помощью функции now(). Проблема в том, что phone не уникальный, то есть получается, что надо изменить последний заказ с этим номером.
...
Рейтинг: 0 / 0
Как изменить последнюю запись с определённым неуникальным значением?
    #39576187
Sadrutdin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Картинка была лишней )
...
Рейтинг: 0 / 0
Как изменить последнюю запись с определённым неуникальным значением?
    #39576194
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sadrutdin,

а start+phone он уникальный?
вообще для начала в таблице не хватает явно объявленного primary key, если бы он был - вопрос бы не стоял, т.е. у вас с дизайном схемы проблемы скорее.
...
Рейтинг: 0 / 0
Как изменить последнюю запись с определённым неуникальным значением?
    #39576211
Melkij
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Насколько я понимаю наскальную живопись в первом сообщении - как раз и PK и уникальный ключи на самом деле есть. Проверьте это.
Если так - найти uuid последнего заказа по phone и обновить его - уже не проблема.

А может вообще необходим простой?
Код: sql
1.
update new_history set finish = now() where finish is null and phone = ?
...
Рейтинг: 0 / 0
Как изменить последнюю запись с определённым неуникальным значением?
    #39576218
Silender
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plsql
1.
update new_history set finish=now() where uuid=(select uuid from new_history where phone=? order by start limit 1);
...
Рейтинг: 0 / 0
Как изменить последнюю запись с определённым неуникальным значением?
    #39576219
Silender
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Точнее
Код: plsql
1.
update new_history set finish=now() where uuid=(select uuid from new_history where phone=? order by start desc limit 1);
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Как изменить последнюю запись с определённым неуникальным значением?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]