Я перенес приложение AnyDAC в FireDAC и не могу работать с его полями Autoinc.
Поле ID
(первичный ключ) было определено в Postgre SQL по умолчанию как nextval('llistapanelspuzzle_id_seq'::regclass)
, BIGSERIAL, поэтому сервер автоматически устанавливает его значения.
Столбец был распознан AnyDAC как TAutoincField
и работал правильно, но когда я теперь открываю эту таблицу в FireDAC, она не сообщает, что найденное поле является TLargeIntField
. Я изменяю постоянное поле на TLargeIntField, но теперь при вставке записей в Delphi я не получаю новые значения с сервера, он оставляет набор данных со значением 0, а когда я добавляю вторую запись, он вызывает Key Violation
( две записи со значением 0 в первичном ключе).
Знаете ли вы, как определить поля AutoInc в FireDAC — PostgreSQL, когда они распознаются как поля LargeInt?
Обновление: я добавил идентификатор в UpdateOptions.AutoIncFields
, но, похоже, ничего не изменилось.
Спасибо.
INSERT
SQL-запрос? - person Olivier   schedule 10.03.2021UpdateOptions.AutoIncFields
. Думаю, я пропустил шаг, поэтому я продолжу пробовать разделManual Specifiying
. - person Marc Guillot   schedule 10.03.2021