В Access можно вставлять явное значение в столбец IDENTITY (a.k.a. Automnumber). Если вы (или ваше промежуточное программное обеспечение) записывает нулевое значение в столбец IDENTITY, и для столбца IDENTITY нет уникальных ограничений, это может объяснить это.
Просто чтобы прояснить, вы должны использовать синтаксис
INSERT INTO (<column list>) ...
и в списке столбцов должен отсутствовать столбец IDENTITY. Jet SQL позволит вам опустить весь список столбцов, но затем неявно включает столбец IDENTITY. Поэтому вы должны использовать синтаксис INSERT INTO (), чтобы явно пропустить столбец IDENTITY.
В Access / Jet вы можете записать явные значения в столбец IDENTITY, и в этом случае значение, очевидно, не будет сгенерировано автоматически. Поэтому убедитесь, что и вы, и ваше промежуточное ПО (ADO.NET и т. Д.) Явно не записывают нулевое значение в столбец IDENTITY.
Кстати, только для столбца IDENTITY в таблице ниже будет автоматически генерироваться нулевое значение каждую секунду. INSERT:
CREATE Table Test1
(
ID INTEGER IDENTITY(0, -2147483648) NOT NULL,
data_col INTEGER
);