2013-03-31 2 views
0

Перед выполнением простой команды вставки с SQLCE Database я столкнулся с ошибкой.SQLCE Вставить sql-ошибку «Столбец не может быть изменен. [Имя столбца = какое-то имя]»

SQL:

insert into accountgroups (AcGroupId, AcGroupParentID, AcGroupName, AcGroupAlias, AcNatureID, AcBaseNatureID) values ('1', '0', 'Current Assets', '', '4', '1') 

ОШИБКА:

{"The column cannot be modified. [ Column name = AcGroupId ]"} 

Я попытался выполнить ту же команду в редакторе VS2010 Студия SQL. И получение этой ошибки

Error Code: 80004005 
Message : The column cannot be modified. [ Column name = AcGroupId ] 
Minor Err.: 25004 
Source : SQL Server Compact ADO.NET Data Provider 
Err. Par. : AcGroupId 

Указанная выше команда отлично работает с базой данных MySQL.

Пожалуйста, дайте мне знать, что я делаю неправильно.

+0

ли AcGroupId не просто набор для автоматического приращения, и, следовательно, не может быть установлен вручную? –

+0

Да, вы правы. Это поле автоматического приращения. Что касается решения, я удалил на него автоматический прирост и отлично работал. Спасибо за вашу помощь. –

+0

Отлично! Поскольку моя догадка оказалась правильной, я думаю, я мог бы также добавить ее в качестве ответа. –

ответ

1

AcGroupId, похоже, является столбцом идентификатора, и они часто устанавливаются на автоматическое приращение и поэтому не могут быть установлены вручную. Если вы удалите первый столбец и первое значение вашего запроса, оно, вероятно, сработает.

2

Вы можете вставить в столбец ID Thusly:

SET IDENTITY_INSERT accountgroups ON 
insert into accountgroups (AcGroupId, AcGroupParentID, AcGroupName, AcGroupAlias, AcNatureID, AcBaseNatureID) values ('1', '0', 'Current Assets', '', '4', '1') 
SET IDENTITY_INSERT accountgroups OFF 
Смежные вопросы