我在使用SQLCE数据库执行简单的插入命令时遇到错误。
SQL:
insert into accountgroups (AcGroupId, AcGroupParentID, AcGroupName, AcGroupAlias, AcNatureID, AcBaseNatureID) values ('1', '0', 'Current Assets', '', '4', '1')
ERROR:
{"The column cannot be modified. [ Column name = AcGroupId ]"}
我尝试在VS2010 Studio 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 :(得分:3)
您可以这样插入ID列:
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
答案 1 :(得分:1)
AcGroupId
似乎是一个ID列,它们通常设置为自动递增,因此无法手动设置。如果删除第一列和查询的第一个值,它可能会有效。