Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / SQLite Новый топик    Ответить
 Необычная нумерация  [new]
shalx
Member

Откуда:
Сообщений: 79
Привет

Обычная база на sqlite и данные ввожу через php , (ну все обычно как у всех).
Однако теперь захотелось нумеровать таким образом :
С начала я ввел одну строку и пусть называется "1",
но потом ввел сразу пять строк через foreach и хочу что все эти пять строк чтобы назывались '2',
потом еще 3 строки - '3' и так далее
Bозможно или нет средствами sqlite нумеровать транзакции?
6 окт 18, 08:31    [21696916]     Ответить | Цитировать Сообщить модератору
 Re: Необычная нумерация  [new]
VSVLAD
Member

Откуда: Краснодар
Сообщений: 1313
shalx,

создай поле в базе, обзови как душе угодно, нарример: transaction_id и в php присваивай этому полю уникальный номер
6 окт 18, 09:29    [21696931]     Ответить | Цитировать Сообщить модератору
 Re: Необычная нумерация  [new]
Dima T
Member

Откуда:
Сообщений: 13939
Можно взять за основу счетчик и его преобразовывать в твой хитрый номер (N).
Диапазон счетчика для номера N будет от N*(N-1)/2+1 до N*(N+1)/2

Т.е. каждой новой записи сначала присваиваем очередное ID, затем решаем уравнение
N*(N-1)/2+1 = ID

где ID значение счетчика.
Затем берем положительный корень и округляем для ближайшего меньшего целого и получаем искомый N.
8 окт 18, 13:24    [21698011]     Ответить | Цитировать Сообщить модератору
 Re: Необычная нумерация  [new]
Dima T
Member

Откуда:
Сообщений: 13939
Невнимательно прочитал
shalx
С начала я ввел одну строку и пусть называется "1",
но потом ввел сразу пять строк через foreach и хочу что все эти пять строк чтобы назывались '2',
потом еще 3 строки - '3' и так далее

подумал 2 двойки, 3 тройки и т.д. а это просто transaction_id как выше уже подметили 21696931

Для генерации уникальных transaction_id можно завести таблицу transaction, в начале транзакции вставлять туда запись, брать id, в конце удалять.
8 окт 18, 13:29    [21698018]     Ответить | Цитировать Сообщить модератору
Все форумы / SQLite Ответить