Member 14157999 Ответов: 1

Я пытаюсь вставить в таблицу, какое удостоверение истинно, и получаю ошибку


insert into GPS_Vouchers values ('10/25/2018 12:00:00 AM','Issuer Inter switch WDRL Txn',12,'HBL',35, 'CUP','cupISS123','SBP-HBL',21,035.56)


в таблице идентичность истинна, и я получаю эту ошибку.

this is the error An explicit value for the identity column in table 'GPS_Vouchers' can only be specified when a column list is used and IDENTITY_INSERT is ON.


Что я уже пробовал:

я попробовал identity true и все еще получаю эту ошибку

this is the error An explicit value for the identity column in table 'GPS_Vouchers' can only be specified when a column list is used and IDENTITY_INSERT is ON

1 Ответов

Рейтинг:
10

OriginalGriff

Просто: всегда называйте свои столбцы.
В данный момент Вы уезжаете:

INSERT INTO MyTable VALUES (1, 2)
это работает только в том случае, если у вас есть два столбца в таблице и вы знаете порядок, потому что SQL предполагает, что значения должны быть вставлены, начиная с "самого левого столбца" и movign right.
Но это не так, у вас есть три колонки:
ID    INT, IDENTITY
Ones  INT
Twoes INT
Таким образом, SQL пытается вставить первое предоставленное вами значение в "самый левый столбец" - ID - и справедливо жалуется, что вы не можете установить значение столбца IDENTITY, потому что это его работа.
Поэтому всегда добавляйте имена столбцов:
INSERT INTO MyTable (Ones, Twoes) VALUES (1, 2)
Ваша проблема исчезнет, и будущие изменения в таблице не испортят ваши данные.