|
sqlite в qt 4.3.0 - выбор primary key при добавлении строк.
|
|||
---|---|---|---|
#18+
Здравствуйте! Имеется следующий вопрос: использую Qt 4.3.0 с драйвером sqlite Есть таблица, создаваемая как: Код: plaintext 1.
Вопрос следующий: как сделать автоматический выбор primary key при добавлении новых строк в базу (если так можно сделать), или как можно получить список N неиспользуемых значений primary key (чтобы прописывать значения из этого списка при добавлении новых строк)? Можно, конечно, сделать Код: plaintext 1.
но это не заполнит "дыры" от удалённых записей. Спасибо. ЗЫ. Вопрос, может, и простой, но это первое моё приложение, использующее БД... Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
24.08.2007, 18:21 |
|
sqlite в qt 4.3.0 - выбор primary key при добавлении строк.
|
|||
---|---|---|---|
#18+
А зачем заполнять дыры? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.08.2007, 18:25 |
|
sqlite в qt 4.3.0 - выбор primary key при добавлении строк.
|
|||
---|---|---|---|
#18+
White Owl wrote: > А зачем заполнять дыры? Т.е. забить? P.S. Возможно, это просто это у меня паранойя по поводу того, что из-за дыр значение ключа превысит maxint :-\. так как предполагаемый объем базы - полмиллиона записей, то это если и произойдет, то нескоро. Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
24.08.2007, 18:42 |
|
sqlite в qt 4.3.0 - выбор primary key при добавлении строк.
|
|||
---|---|---|---|
#18+
ErV> А зачем заполнять дыры? Т.е. забить?Конечно. Есть два способа заполнить дыры, первый это полностью перекопировать всю таблицу во временную таблицу с перенумерованием, а потом скопировать обратно и убить временную таблицу. Второй - пробежаться в цикле по всей таблице и если нашел дыру перенумеровать текущую запись. Оба способа требуют полного перебора всех строк - медленно и не нужно. ErVP.S. Возможно, это просто это у меня паранойя по поводу того, что из-за дыр значение ключа превысит maxint :-\. так как предполагаемый объем базы - полмиллиона записей, то это если и произойдет, то нескоро.В sqllite? MAXINT? Хе :) В SQLite нету типизации данных. Если твой клиент умеет работать с гигантскими числами - sqlite сумеет их сохранить. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.08.2007, 18:55 |
|
sqlite в qt 4.3.0 - выбор primary key при добавлении строк.
|
|||
---|---|---|---|
#18+
White Owl wrote: > В sqllite? MAXINT? Хе :) Ясно. C++-сная привычка. :) > Конечно. Есть два способа заполнить дыры В, общем, я подразобрался чуть-чуть, и ,как я понял, информацию о дырах можно получит вот так (таблица называется names, в mysql запрос работает): Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16.
вызывать :) В общем, вопрос решен. Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
24.08.2007, 19:09 |
|
sqlite в qt 4.3.0 - выбор primary key при добавлении строк.
|
|||
---|---|---|---|
#18+
ErV wrote: > 'num elements:', (b.id-a.id) поправка: "(b.id - a.id + 1)" Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
24.08.2007, 19:12 |
|
sqlite в qt 4.3.0 - выбор primary key при добавлении строк.
|
|||
---|---|---|---|
#18+
ErV wrote: > поправка: "(b.id - a.id + 1)" упс. имелось в виду"(b.id - (a.id + 1))" или "(b.id - a.id - 1)"; Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
24.08.2007, 19:14 |
|
sqlite в qt 4.3.0 - выбор primary key при добавлении строк.
|
|||
---|---|---|---|
#18+
ErV Здравствуйте! Имеется следующий вопрос: использую Qt 4.3.0 с драйвером sqlite Есть таблица, создаваемая как: Код: plaintext 1.
Вопрос следующий: как сделать автоматический выбор primary key при добавлении новых строк в базу (если так можно сделать), или как можно получить список N неиспользуемых значений primary key (чтобы прописывать значения из этого списка при добавлении новых строк)? create table asdf (id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,... ... |
|||
:
Нравится:
Не нравится:
|
|||
25.08.2007, 13:58 |
|
|
start [/forum/search_topic.php?author=Mikhaylo&author_mode=last_topics&do_search=1]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
get settings: |
10ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
77ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
others: | 378ms |
total: | 574ms |
0 / 0 |