
id列是标识列,不能insert/update其值,把语句中的id字段去掉就行
如果是数据导入要导id值,那么需要先设置允许更新指定表的标识字段的值,具体方法请参考帮助文档中关于 set identity_insert 的相关信息
代码如下:
--创建测试表
CREATE TABLE [Identity](
Id INT IDENTITY(1,2) NOT NULL PRIMARY KEY,--种子的起始值1,步长2
Number VARCHAR(20) UNIQUE NOT NULL,
Name VARCHAR(20) NOT NULL,
Password VARCHAR(20) DEFAULT(123),
Description VARCHAR(40) NULL
)
--插入记录
INSERT INTO [Identity](Number,Name,Description) VALUES('001','1st','Id=1,因为起始值1')
INSERT INTO [Identity](Number,Name,Description) VALUES('002','2nd','Id=3,因为起始值1,步长2')
INSERT INTO [Identity](Number,Name,Description) VALUES('003','3rd','Id=5,由于字符长度超长,报错插入失败,造成此Id产生后被放弃')
INSERT INTO [Identity](Number,Name,Description) VALUES('004','4th','Id=7 not 5,因为第三条记录插入失败')
--检索记录,查看结果
SELECT FROM [Identity]
再说得细一点儿吧 如果你想修改收发记录的最大单据号 要先上你对应帐套对应年度的数据库中查找Rdrecord表和Rdrecords表,把其中的列名为ID的最后一条记录的值记下来,然后去Ufsystem库中找到UA_Identity表,在cAccid列中选择对应的帐套,然后找cVouchType列中找到对应的Rd,将该条记录对应的iFatherID值改为Rdrecord表的ID最大号,iChildID更改为对应的Rdrecords的AutoID号,就可以了
如提示所示啊,你导入的表中有标识列,标识列只有IDENTITY_INSERT 为 ON 时
才能显示的添加,你在select 中把改成列名,去掉标识列就可以了
如果是需要添加的,那么用set IDENTITY_INSERT cangchuchayi on
来打开开关,但是需要显示指定列名,即insert into 表(列名1)
插入后用off关闭
以上就是关于c# *** 作数据库 增添数据 当 IDENTITY_INSERT 设置为 OFF 时,不能为表 'RouteY' 中的标识列插入显式值.全部的内容,包括:c# *** 作数据库 增添数据 当 IDENTITY_INSERT 设置为 OFF 时,不能为表 'RouteY' 中的标识列插入显式值.、怎样用SQL向数据库中批量的插入数据,主键是随机生成的、谁能帮我解释一下用友数据库表UA_Identity(单据编号生成控制表)中cVouchType的值的意思。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)