|
Модераторы: LSD |
|
Loki |
|
||||
Бывалый Профиль Группа: Участник Сообщений: 244 Регистрация: 9.7.2006 Репутация: нет Всего: нет |
нужно сделать запрос с обновлением порядкового номера.
например есть таблица с num(0,1,2,3,4...) и id (324234,23423423,2354235,586786,...) я делаю запрос что-бы получить наибольший num
и к нему нужно сделать +1 и поместить в ту же таблицу с новым id. id primary key. например..., но т.к. я использую primary id по id, это не сработает
Как в такой запрос добавить еще один столбец для insert? edit: сделал используя create sequence Это сообщение отредактировал(а) Loki - 10.8.2013, 08:10 |
||||
|
|||||
LSD |
|
|||
Leprechaun Software Developer Профиль Группа: Модератор Сообщений: 15709 Регистрация: 24.3.2004 Репутация: 3 Всего: 537 |
Это неправильный способ, в случае race condition будет 2 записи с одинаковым num. Нужно вначале заблокировать таблицу, потом выбрать и вставить максимальное значение, и потом снять блокировку.
-------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
Zloxa |
|
|||
Чо? Профиль Группа: Завсегдатай Сообщений: 3470 Регистрация: 12.9.2008 Репутация: 3 Всего: 161 |
Это ошибочнкая оценка способа. ты наверное не дочитал до конца: И теперь кому-то может показаться, что ты коментировал последнюю строку. Это сообщение отредактировал(а) Zloxa - 26.8.2013, 19:52 -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка |
|||
|
||||
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PostgreSQL | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |