错误213:插入错误:列名或所提供值的数目与表定义不匹配。
仅当使用了列的列表,并且IDENTITY——INSERT 为ON 时,才能在表'shenpjg_b'中为标识列指定显式值。
仅当使用了列的列表,并且IDENTITY——INSERT 为ON 时,才能在表'shenpjg_b'中为标识列指定显式值。
解决方案 »
- SQL分组获取第一条记录,谁能讲解下?
- 各位大大们,再问一个时间问题~
- SELECT top 10 * FROM xynew order by posttime desc为什么当时间一样的时候返回的就不只10条记录呢?
- "2006年9月20日 星期三 8:10",这样的查询结果用sql怎样实现???
- 关于SqlServer2000 数据导入的问题
- 求助关于拆分数据
- 这个问题好急啊,大侠帮看看,为什么值插入一条,并且不完全?????
- 问一下,SQL服务器的密码规则
- sql2000 数据库文件突然丢失
- sql2000一个数据库最多支持多少个表,一个表最多多少条记录?(在线)
- sqlserver如何做远程备份
- 数据库中表的大小是多少?
tb表 (id 为 IDENTITY 列)
id name
1 a
2 b
3 c则插入语句写为 insert tb values('d')
而不是 insert tb values(4,'d')也可以设置 IDENTITY——INSERT 为ON,就可以用insert tb values(4,'d')了
那插入语句要如何写?
update shenp set 状态说明=@stamptime
where 审批单号 in (select 审批单号 from v_shenp where 审批单号 not in (select 审批单号 from shenp_b) and 审批意见 in('同意','不同意') and 请求时间 > @filldate)
insert into shenp_b select 审批单号 from shenp where 状态说明=@stamptime
insert into shenpjg_b select * from shenpjg where 批复单号 in (select 审批单号 from shenp where 状态说明=@stamptime )
insert into shenp_v_b select * from v_shenp where 批复单号 in (select 审批单号 from shenp where 状态说明=@stamptime )
delete shenp where 状态说明=@stamptime
只是这句报错吗?shenpjg_b 和 shenpjg 结构完全一样吗?
只是这句报错吗?还有别的报错,但是我知道要如何改了,并且改后应该没有问题,只是这句不知如何去改?我看了一下shenpjg这个表中的数据,发现以前插入到shenpjg_b的数据编号是与shenpjg表中的是一致的
改为
insert into shenpjg_b(列名1,列名2...) select 列名1,列名2... from shenpjg where 批复单号 in (select 审批单号 from shenp where 状态说明=@stamptime )
select col1,col2
也就是字段一定要一一对应。。