Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / при insert добавить номер "закрывающий дырку" ранее удаленного / 2 сообщений из 2, страница 1 из 1
18.10.2017, 10:17
    #39537872
Юзер гость
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
при insert добавить номер "закрывающий дырку" ранее удаленного
Трудно изобрести заголовок.

Таьлица
id name n
1 коля 10
2 вася 12
3 петя 13
4 ваня 15

Задача:
Добавить в таблицу запись чтобы n была равна 11 (в нашем случае). при этом мы не знаем какой должна быть n. Эта цифра должна быть минимальным не существующим числом в таблице.

Первый инсерт должен создать запись "5 федя 11", второй "6 дима 14".
...
Рейтинг: 0 / 0
18.10.2017, 12:31
    #39537976
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
при insert добавить номер "закрывающий дырку" ранее удаленного
Ну если не бояться интерференций от соседнего пользователя, то

Код: sql
1.
2.
3.
4.
5.
6.
INSERT INTO tab (name, n)
SELECT 'Федя', (   SELECT MIN(t1.n)+1
                   FROM tab t1 
                   LEFT JOIN tab t2 ON t1.n = t2.n-1
                   WHERE t2.id IS NULL
               )
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / при insert добавить номер "закрывающий дырку" ранее удаленного / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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