SQLite - есть ли средства автонумерации?, типа генератора в других БД |
Здравствуйте, гость ( Вход | Регистрация )
SQLite - есть ли средства автонумерации?, типа генератора в других БД |
Litkevich Yuriy |
29.4.2008, 8:50
Сообщение
#1
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
Есть ли возможность в SQLite автоматически задавать значение определенного поля у вставляемой записи, по аналогии с парой генератор/"тригер на вставку" в Firebird?
Если да, объясните как это сделать. |
|
|
Tonal |
29.4.2008, 10:02
Сообщение
#2
|
Активный участник Группа: Участник Сообщений: 452 Регистрация: 6.12.2007 Из: Новосибирск Пользователь №: 34 Спасибо сказали: 69 раз(а) Репутация: 17 |
В SQLite есть автоинкрементный тип столбца.
|
|
|
Litkevich Yuriy |
29.4.2008, 10:20
Сообщение
#3
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
а ка его задать?
у меня сейчас так таблица создана:
надо для столбца F_ID при в ставке автоматом нумеровать |
|
|
Andrew Selivanov |
29.4.2008, 11:24
Сообщение
#4
|
Участник Группа: Участник Сообщений: 249 Регистрация: 9.10.2007 Из: Москва Пользователь №: 3 Спасибо сказали: 15 раз(а) Репутация: 6 |
а ка его задать? у меня сейчас так таблица создана:
надо для столбца F_ID при в ставке автоматом нумеровать В запросе скажи F_ID INTEGER PRIMARY KEY и по умолчанию он будет автоинкремент если не будет скажи F_ID INTEGER PRIMARY KEY AUTOINCREMENT http://sqlite.org/lang_createtable.html |
|
|
Litkevich Yuriy |
29.4.2008, 11:27
Сообщение
#5
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
понял спасибо, и тригеров не надо-гут
|
|
|
Tonal |
29.4.2008, 13:11
Сообщение
#6
|
Активный участник Группа: Участник Сообщений: 452 Регистрация: 6.12.2007 Из: Новосибирск Пользователь №: 34 Спасибо сказали: 69 раз(а) Репутация: 17 |
Ни триггеров ни ХП - бо не поддерживаются.
Сообщение отредактировал Tonal - 29.4.2008, 13:11 |
|
|
Litkevich Yuriy |
29.4.2008, 13:18
Сообщение
#7
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
тригера поддерживаются (CREATE TRIGGER), хотя я не вкурсе, что там Qt'я с собой ставили, я специально ничего не ставил может у меня и не поддерживаются
|
|
|
Andrew Selivanov |
29.4.2008, 16:50
Сообщение
#8
|
Участник Группа: Участник Сообщений: 249 Регистрация: 9.10.2007 Из: Москва Пользователь №: 3 Спасибо сказали: 15 раз(а) Репутация: 6 |
тригера поддерживаются (CREATE TRIGGER), хотя я не вкурсе, что там Qt'я с собой ставили, я специально ничего не ставил может у меня и не поддерживаются Все поддерживается как надо, sqlite не имеет сервера и его можно тупо подлинковать статически или динамически (или подлинковаться прямо к исходникам). Не думаю что TrollT нарочно что то из исходников вырезали Цитата(Tonal) Ни триггеров ни ХП - бо не поддерживаются. А что подразумевалось под ХП - бо? |
|
|
Litkevich Yuriy |
29.4.2008, 16:56
Сообщение
#9
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
ХП-хранимые процедуры,
бо-ибо |
|
|
Tonal |
30.4.2008, 7:36
Сообщение
#10
|
Активный участник Группа: Участник Сообщений: 452 Регистрация: 6.12.2007 Из: Новосибирск Пользователь №: 34 Спасибо сказали: 69 раз(а) Репутация: 17 |
О, триггера появились. Прикольно.
А не в курсе, можно у них калбек установить на те события, которые триггерами обрабатываются? Тогда бы вместо триггеров и ХП можно было бы просто свои функции подсунуть. Нашёл, есть: sqlite3_update_hook, sqlite3_commit_hook, sqlite3_rollback_hook. Хотя в этом есть одна засада - если с базой предполагается работать из нескольких систем программирования, то в каждой придётся дублировать код этих функций... Сообщение отредактировал Tonal - 30.4.2008, 7:36 |
|
|
Текстовая версия | Сейчас: 26.12.2024, 23:39 |