|
Получить аналог last_insert_rowid для множественной вставки.
|
|||
---|---|---|---|
#18+
День добрый! есть таблица Код: sql 1. 2. 3. 4. 5.
есть транзакция: Код: sql 1. 2. 3. 4. 5. 6.
Есть ли возможность получить запросом или функцией набор из last_insert_rowid? N - Известно. вообщем список значений вставленный _key1? Когда вставляешь по одному, то last_insert_rowid(), а когда все вместе? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2012, 17:28 |
|
Получить аналог last_insert_rowid для множественной вставки.
|
|||
---|---|---|---|
#18+
А зачем? Что ты с этим списком делать потом собираешься? И вообще, если у тебя уже есть первичный ключ - _key1+_key2 зачем еще с абстрактными номерами возиться? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2012, 18:51 |
|
Получить аналог last_insert_rowid для множественной вставки.
|
|||
---|---|---|---|
#18+
vinil_spb, После первой же вставки база блокируется и до окончания транзакции блокировка не снимается. По этому генерируемые идентификаторы строго последовательны и не имеют пропусков. Достаточно узнать первый и последний. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.01.2012, 18:54 |
|
Получить аналог last_insert_rowid для множественной вставки.
|
|||
---|---|---|---|
#18+
White OwlА зачем? Что ты с этим списком делать потом собираешься? И вообще, если у тебя уже есть первичный ключ - _key1+_key2 зачем еще с абстрактными номерами возиться? в контексте задачи данные ключи сохраняют порядок получения данных, что критично при сортировке во время вывода данных. RXLvinil_spb, После первой же вставки база блокируется и до окончания транзакции блокировка не снимается. По этому генерируемые идентификаторы строго последовательны и не имеют пропусков. Достаточно узнать первый и последний. Они строго последовательны для каждого key2 со значением value_i. Для нескольких значений key2 они могут быть идентичны. Вот и интересует есть ли механизм вытащить данные ключи в порядке попадания в таблицу или это можно сделать только если изначально просмотреть все мах(key1) для каждого key2, потом посчитать количество вхождений для каждого значения key2 и аккуратненько в массивчик записывать key1 основываясь на этом. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.01.2012, 09:28 |
|
Получить аналог last_insert_rowid для множественной вставки.
|
|||
---|---|---|---|
#18+
vinil_spbWhite OwlА зачем? Что ты с этим списком делать потом собираешься? И вообще, если у тебя уже есть первичный ключ - _key1+_key2 зачем еще с абстрактными номерами возиться? в контексте задачи данные ключи сохраняют порядок получения данных, что критично при сортировке во время вывода данных.Это очень даже неправильное понимание ситуации. Если ты хочешь сохранять порядок сортировки, добавь в таблицу специальное поле, в которое пиши время вставки. Завязываться на rowid для сортировки не стоит - rowid может быть случайным (повторное использование удаленных строк или пропущенных номеров). ... |
|||
:
Нравится:
Не нравится:
|
|||
30.01.2012, 18:59 |
|
Получить аналог last_insert_rowid для множественной вставки.
|
|||
---|---|---|---|
#18+
2White Owl время вставки и так есть, но оно в секундах(и не как иначе). а rowid очень хорошо сортировало то. что приходило за 1сек. и в пределах данного времени( и следовательно небольшого числа записей) не особо важно начнут повторяться они или нет. Вообщем я нашел метод как это побороть, правда пришлось немного менять структуру программы и забить на вытаскивание вставленных ключей, как это было раньше. Всем спасибо, тему можно считать закрытой, если ответа так и не нашлось, а ушли в сторону проектирования логики. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.01.2012, 10:57 |
|
|
start [/forum/topic.php?fid=54&msg=37639539&tid=2009075]: |
0ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
42ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
50ms |
get tp. blocked users: |
2ms |
others: | 307ms |
total: | 446ms |
0 / 0 |