Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Автоинкремент, делфи, зеос -> проблема
|
|||
|---|---|---|---|
|
#18+
В этом форуме много тем по поводу автоинкрементного поля в таблице. Читал, но не нашел все же, как мне побороть свою проблему. Создаю таблицу двумя способами: 1. CREATE TABLE tree (id serial, name varchar(20), parent int2); 2. CREATE SEQUENCE tree_seq; CREATE TABLE tree(id integer NOT NULL DEFAULT nextval('tree_seq'), name varchar(20), parent int2, PRIMARY KEY (id) ); В обоих случаях создается то, что мне нужно. И если я из шелла пытаюсь вставить данные в таблицу типа INSERT INTO tree (name, parent) VALUES ('sdsdf', 1); вставляет и само добавляет в поле id нужное, последовательное значение. Если я пытаюсь из делфи вставить новую запись, то получаю, что поле id не может быть пустым. Если пишу туда какую-нибудь цифру - все ок, вставляется запись. Но это же неправильно. Если пытаюсь ввести две одинаковые цифры - получаю ошибку. В форуме нашел, что в поле id надо писать значение default. Но как это сделать? База ждет, что в поле будет вводиться цифра, а не символы. В чем проблема то, а? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.09.2004, 15:07 |
|
||
|
Автоинкремент, делфи, зеос -> проблема
|
|||
|---|---|---|---|
|
#18+
Никакой проблемы. Если через ZQuery с RequestLive=True и CachedUpdates=False - то все нормально работает без указания значения, Zeos сам обновит serial-поле после Post (но не все запросы являются редактируемыми вживую). Если CachedUpdates=True - исправь руками ZUpdateSQL.InsertSQL - напиши default или убери поле совсем. Но значение поля придется узнавать и устанавливать после ApplyUpdates (или переоткрывать запрос). И наконец можно до отсылки изменений в базу в любом режиме в AfterInsert получить и присвоить nextval('serial_name_seq') отдельным запросом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2004, 04:02 |
|
||
|
Автоинкремент, делфи, зеос -> проблема
|
|||
|---|---|---|---|
|
#18+
PJDЕсли через ZQuery с RequestLive=True и CachedUpdates=False - то все нормально работает без указания значения, Zeos сам обновит serial-поле после Post (но не все запросы являются редактируемыми вживую). Никакой проблемы в таком случае у меня не возникает, когда работаю с MySQL. В Postgree Zeos сам почему-то не хочет этого делать. Вставляет запись только в случае, если в запросе опускается выборка поля serial. Сейчас раздумываю, подходит ли это мне. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2004, 13:03 |
|
||
|
|

start [/forum/topic.php?fid=53&fpage=352&tid=2007654]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
34ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
24ms |
get tp. blocked users: |
1ms |
| others: | 256ms |
| total: | 352ms |

| 0 / 0 |
