powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / SQLite [игнор отключен] [закрыт для гостей] / SQLITE + автоинкрементное поле
15 сообщений из 15, страница 1 из 1
SQLITE + автоинкрементное поле
    #35938509
kolio
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день

извиняюсь если такая тема уже была. по поиску особо не помогло найти решение проблемы.
буду краток

с SQLITE3 работаю в Delphi целых 2 дня
делаю таблицу

Код: plaintext
1.
2.
3.
4.
5.
CREATE TABLE [VIDDOC] (
  [ID] AUTOINC, 
  [VIDUKR] TEXT, 
  [VIDRUS] TEXT, 
  UNIQUE([ID], [VIDUKR], [VIDRUS]), 
  CONSTRAINT [sqlite_autoindex_VIDDOC_1] PRIMARY KEY ([ID], [VIDUKR], [VIDRUS]));

-----------------
ID VIDUKR VIDRUS
-----------------
где ID указываю тип
Код: plaintext
AUTOINC
(есть в списке типов в программе SQLite Expert version 1.7)

ну думаю "всё отлично! всё будет само инкрементироваться", но не вышел фокус
добавляю запись вот так:

Код: plaintext
'INSERT INTO [VIDDOC] ([VIDUKR],[VIDRUS]) VALUES ("'+..........+'","'+..............+'")'

но поле ID нехочет само инкаться. тупо или
Код: plaintext
NULL
либо указываю значиние и оно проставляется подряд одно и то же

Помогите плиз
...
Рейтинг: 0 / 0
SQLITE + автоинкрементное поле
    #35938640
Фотография Dmitry Arefiev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
... 
ID INTEGER PRIMARY KEY AUTOINCREMENT
...
SQLite воспринимает вышеозвученную комбинацию ключевых слов как запрос на создание
автоинкрементального поля. AUTOINC - это ему ни о чем не говорит :)
...
Рейтинг: 0 / 0
SQLITE + автоинкрементное поле
    #35938809
kolio
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
спасибо. всё работает как часики
непонятно откуда у этой проги есть такой тип AUTOINC ужассс

думаю тему можно или закрывать или удалять на усмотрение админов
...
Рейтинг: 0 / 0
SQLITE + автоинкрементное поле
    #35967495
Ibolit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Народ, если не секрет, зачем в SQLite создавать автоинкрементное поле, если есть rowid? По-моему, им вполне можно и ограничиться. Или я чего-то не понимаю?
...
Рейтинг: 0 / 0
SQLITE + автоинкрементное поле
    #35967551
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IbolitНарод, если не секрет, зачем в SQLite создавать автоинкрементное поле, если есть rowid? По-моему, им вполне можно и ограничиться. Или я чего-то не понимаю?А почему ты решил что rowid будет всегда соответствовать одной и той-же записи?
...
Рейтинг: 0 / 0
SQLITE + автоинкрементное поле
    #35967573
Ibolit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Честно говоря, никогда об этом не задумывался, и никогда не сталивался с тем, чтобы rowid как-то изменялся в ходе жизни таблицы.
А с чего бы вдруг он стал меняться? Приведите примеры?
...
Рейтинг: 0 / 0
SQLITE + автоинкрементное поле
    #35967720
Фотография Dmitry Arefiev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IbolitНарод, если не секрет, зачем в SQLite создавать автоинкрементное поле, если есть rowid?
За тем, что бы дать rowid'у собственное специфическое имя.
...
Рейтинг: 0 / 0
SQLITE + автоинкрементное поле
    #35968000
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IbolitЧестно говоря, никогда об этом не задумывался, и никогда не сталивался с тем, чтобы rowid как-то изменялся в ходе жизни таблицы.
А с чего бы вдруг он стал меняться? Приведите примеры?Пример "в лоб": Выгрузи таблицы во внешние файлы, загрузи их в новую базу данных. Данные все те-же самые, а связи поехали...
...
Рейтинг: 0 / 0
SQLITE + автоинкрементное поле
    #35968128
Фотография Dmitry Arefiev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IbolitПриведите примеры?
Репликация
...
Рейтинг: 0 / 0
SQLITE + автоинкрементное поле
    #35977724
Ibolit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да, спасибо за примеры.
А я думал, на rowid можно положиться.
Плюс, кстати, VACUUM.
...
Рейтинг: 0 / 0
SQLITE + автоинкрементное поле
    #36296244
AndrewHUY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте. Простите за то, что вхожу не в свою тему, но мой вопрос тот же и открывать свою такую же смысла нет.
---

Вопрос: Если я создаю таблицу таким образом как сказал "Dmitry Arefiev", то каков будет вид запроса на вставку строки в такую таблицу? Дело в том, что автоинкрементное поле в запросе, приходится забивать NULL-ом: INSERT INTO table_name VALUES (NULL, XXX, XXX, ...); а как сделать так, чтобы его вообще не указывать в запросе? Ведь оно автоинкрементное.

С уважением, Андрей.
---

For: Dmitry Arefiev
---
...
Рейтинг: 0 / 0
SQLITE + автоинкрементное поле
    #36296253
AndrewHUY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Дошло, простите:)...
---

INSERT INTO table_name (поле1, поле2, ...) VALUES (значение_поля1, значение_поля2, ...);
---
...
Рейтинг: 0 / 0
SQLITE + автоинкрементное поле
    #36361425
vikaz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
не создаю новую тему, т.к. вопрос относиться сюда же!

Скажите пожалуйста, как обнулить автоинкрементное поле? Empy не помогает, он просто очищает, а надо очистить и обнулить. Заранее спасибо.
...
Рейтинг: 0 / 0
SQLITE + автоинкрементное поле
    #36361930
mrbrooks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vikaz,

в sqlite кажется встроенных средств нет.

а так - только пересоздать таблицу :)
...
Рейтинг: 0 / 0
SQLITE + автоинкрементное поле
    #36362228
vikaz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот это и грустно! Как-то не учли создатели этот момент....

ЗЫ. Камрад, и ты тут! :)
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / SQLite [игнор отключен] [закрыт для гостей] / SQLITE + автоинкрементное поле
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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