SQL插入语句提示报错,小弟不懂,请教高人,谢谢

我在当前库的情况下,执行如下SQL语句
insert into voucheritems_base

SELECT * FROM ufdata_888_2006.dbo.voucheritems_base WHERE VT_ID='8052'

提示: 仅当使用了列的列表,并且 IDENTITY_INSERT 为 ON 时,才能在表 'voucheritems_base' 中为标识列指定显式值。

请各位高人说明一下,我哪儿写错了吗

你把*号,改成所有的字段,然后把自动编号给去掉,也就是id

我刚巧作过了这样的测试!

我的两张表分别叫test1,test2

一模一样的!

id 主键
name char(20)
age int
register_time datetime

如果这样写的话

insert into test2 select * from test1

消息 8101,级别 16,状态 1,第 2 行
仅当使用了列列表并且 IDENTITY_INSERT 为 ON 时,才能为表'test2'中的标识列指定显式值。

所以我认为正确的写法是:

insert into test2 select [name],age,register_time from test1

就是说不管主键:主键自己会运行的!
温馨提示:内容为网友见解,仅供参考
第1个回答  2007-10-25
首先确定你用的用户是否有更改表的权限
然后insert into voucheritems_base

SELECT * FROM ufdata_888_2006.dbo.voucheritems_base WHERE VT_ID='8052' 这句中,确定voucheritems_base和ufdata_888_2006.dbo.voucheritems_base表结构相同

语句应该是没有太大问题
第2个回答  2007-10-25
表voucheritems_base里有一个列是自动增长的标识列。而这个列是由数据库自己维护的,不能由用户去修改。所以在INSERT的时候,必须把除了标识列以外的所有其它列都写出来。
第3个回答  2007-10-25
表里有一个字段是自动产生值的,插入数据时,不用给这个字段赋值的.
第4个回答  2007-10-29
楼主只要注意以下两点就可以了.
(1)由于ID是自动递增,所以要插入需先执行
SET IDENTITY_INSERT voucheritems_base ON
(2)insert 时不能用*,要把所有的列一一对应写出。
完成后再SET IDENTITY_INSERT voucheritems_base OFF
第5个回答  2007-10-25
是不是还漏了啊
insert into voucheritems_base
(插入的各个字段)values(你查询的语句)

SQL插入语句提示报错,小弟不懂,请教高人,谢谢
你把*号,改成所有的字段,然后把自动编号给去掉,也就是id 我刚巧作过了这样的测试!我的两张表分别叫test1,test2 一模一样的!id 主键 name char(20)age int register_time datetime 如果这样写的话 insert into test2 select * from test1 消息 8101,级别 16,状态 1,第 2 行 仅当使用...

怎么在SQL语句中实现 函数的嵌套,例如把max(sun())这样嵌套,但是这样...
只能从一个查询。记住。只能查询包含另一个查询。如 A id wc 1 34 2 45 B id wd 1 34 1 45 2 90 3 67 3 69 select max(Result) from (select sum(wd) Result from B group by id);

求C语言高人。小弟大一初学,有几个简单的请教。特别是关于whlile语句的...
第一题为连接字符串,i定位s字符串最后一个字符'\\0'的位置,下面分别把t复制到s的尾部,连t的‘\\0’也复制过去了,原本是 'x' 'y' 'z' '\\0',然后'x' 'y' 'z' 'a',最后'x' 'y' 'z' 'a' 'b' 'c' '\\0'。不过这个s的存储空间可能不够会溢出s数组。第二题还是连接字符串...

关于sql触发器的ntext类型问题,请高人指教
在 DELETE、INSERT 或 UPDATE 触发器中,如果兼容级别设置为 70,则 SQL Server 不允许在 inserted 和 deleted 表中存在 text、ntext 或 image 列引用。不能访问 inserted 和 deleted 表中的 text、ntext 和 image 值。若要在 INSERT 或 UPDATE 触发器中检索新值,请将 inserted 表与原始更新表联...

请教高手sql语句如何判断一天,24小时内,发布信息数不能大于5
楼上的说法可行,新建的那个表,里面可就存三个字段:IP,日期,次数 在程序中判断这个次数的大小,在这个ip下头如果等于5那么在发帖时提示信息,不能插入,如果小于5可以继续插,并将当前这个次数加1

...但为什么在C#中用ExecuteNonQuery一运行就卡住了?请教高人...
pl\/sql运行没问题的话,在C#中,如果运行是多句insert的话,只能放在ArryList里。不能运行多句,加了;也不行。只能一句一句的运行。

...下图所示的提示框?如何解决?请教高人了。小弟不胜感激!
你弄错了 这个是 引入数据源 excel需要插入表格么? 他本身就是表格,直接填数据就行了,你叫怎么插,又不是word,还有嵌套表格这些东西 除非你加表格控件

...这段代码是什么意思,看不懂啊,请高人指点,谢谢了
将$ItemCat转化成array("0"=>$ItemCat),如果$ItemCat不存在,则返回空数组

请教高人:有一个超级大的数据表(四千万条数据)有10G这么大,想提高查询...
在没有进行表分析的前提下,索引的效率会下降,到达一定的程度,数据库会自动放弃索引,而采用数据扫描的方式。因此,建议定义一个每天运行的任务,时间定在业务最空闲的时段,然后任务重执行analyze table 之类的语句。(关于表分析,网上可以搜索很锁专业文章。)就可以的到很大提高了。

打开表格提示只读,然后文件找不到了,请教高人,谢谢。
中毒了

相似回答
大家正在搜