执行了以下语句SELECT * FROM TB1IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[TB1]') AND type in (N'U'))
DROP TABLE [dbo].[TB1]
GO
CREATE TABLE TB1 (ID int IDENTITY (1,1),NO1 int, NO2 int, NO3 int, NO4 int, NO5 int, NO6 int)
GO
INSERT intO TB1
SELECT top 1 [ID], NO1,NO2,NO3,NO4,NO5,NO6
  FROM [826SSBallDB].[dbo].[TB211]
GO
BEGIN TRANSACTION
GO
ALTER TABLE dbo.TB1 ADD
    R0 VARCHAR(25) DEFAULT 0 NOT NULL,
    R1 VARCHAR(25) DEFAULT 0 NOT NULL,
    R2 VARCHAR(25) DEFAULT 0 NOT NULL,
    R3 VARCHAR(25) DEFAULT 0 NOT NULL,
    R4 VARCHAR(25) DEFAULT 0 NOT NULL,
    R5 VARCHAR(25) DEFAULT 0 NOT NULL,
    R6 VARCHAR(25) DEFAULT 0 NOT NULL
GO
COMMIT
IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[TB2]') AND type in (N'U'))
DROP TABLE [dbo].[TB2]
GO
CREATE TABLE TB2 (ID int IDENTITY (1,1),NO1 int, NO2 int, NO3 int, NO4 int, NO5 int, NO6 int)
GO
INSERT intO TB2
SELECT top 26  [ID],NO1,NO2,NO3,NO4,NO5,NO6
  FROM [826SSBallDB].[dbo].[TB123]--SELECT * FROM TB1
--SELECT * FROM TB2提示信息(1 行受影响)
消息 8101,级别 16,状态 1,第 1 行
仅当使用了列列表并且 IDENTITY_INSERT 为 ON 时,才能为表'TB1'中的标识列指定显式值。
消息 8101,级别 16,状态 1,第 1 行
仅当使用了列列表并且 IDENTITY_INSERT 为 ON 时,才能为表'TB2'中的标识列指定显式值。

解决方案 »

  1.   

    插入数据前加一句SET IDENTITY_INSERT tbname ON
    GO
      

  2.   

    IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[TB2]') AND type in (N'U'))
    DROP TABLE [dbo].[TB2]
    GO
    CREATE TABLE TB2 (ID int IDENTITY (1,1),NO1 int, NO2 int, NO3 int, NO4 int, NO5 int, NO6 int)
    GO
    INSERT intO TB2(NO1,NO2,NO3,NO4,NO5,NO6)
    SELECT top 26 NO1,NO2,NO3,NO4,NO5,NO6
      FROM [826SSBallDB].[dbo].[TB123]
      

  3.   

    IDENTITY   列自增。
    用  SET IDENTITY_INSERT tbname OFF
    GO
    停止自增,然后再插入值.
      

  4.   

    IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[TB1]') AND type in (N'U'))
    DROP TABLE [dbo].[TB1]
    GO
    CREATE TABLE TB1 (ID int IDENTITY (1,1),NO1 int, NO2 int, NO3 int, NO4 int, NO5 int, NO6 int)
    GO
    INSERT intO TB1(NO1,NO2,NO3,NO4,NO5,NO6)
    SELECT top 1 NO1,NO2,NO3,NO4,NO5,NO6
      FROM [826SSBallDB].[dbo].[TB211]
      

  5.   

    IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[TB1]') AND type in (N'U'))
    DROP TABLE [dbo].[TB1]
    就为 id
      

  6.   

    --应更正为:
    INSERT intO TB1 
    SELECT top 1 NO1,NO2,NO3,NO4,NO5,NO6
      FROM [826SSBallDB].[dbo].[TB211]INSERT intO TB2
    SELECT top 26 NO1,NO2,NO3,NO4,NO5,NO6
      FROM [826SSBallDB].[dbo].[TB123]
    执行了以下语句SELECT * FROM TB1IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[TB1]') AND type in (N'U'))
    DROP TABLE [dbo].[TB1]
    GO
    CREATE TABLE TB1 (ID int IDENTITY (1,1),NO1 int, NO2 int, NO3 int, NO4 int, NO5 int, NO6 int)
    GO
    INSERT intO TB1 
    SELECT top 1 NO1,NO2,NO3,NO4,NO5,NO6
      FROM [826SSBallDB].[dbo].[TB211]
    GO
    BEGIN TRANSACTION
    GO
    ALTER TABLE dbo.TB1 ADD
      R0 VARCHAR(25) DEFAULT 0 NOT NULL,
      R1 VARCHAR(25) DEFAULT 0 NOT NULL,
      R2 VARCHAR(25) DEFAULT 0 NOT NULL,
      R3 VARCHAR(25) DEFAULT 0 NOT NULL,
      R4 VARCHAR(25) DEFAULT 0 NOT NULL,
      R5 VARCHAR(25) DEFAULT 0 NOT NULL,
      R6 VARCHAR(25) DEFAULT 0 NOT NULL
    GO
    COMMIT
    IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[TB2]') AND type in (N'U'))
    DROP TABLE [dbo].[TB2]
    GO
    CREATE TABLE TB2 (ID int IDENTITY (1,1),NO1 int, NO2 int, NO3 int, NO4 int, NO5 int, NO6 int)
    GO
    INSERT intO TB2
    SELECT top 26 NO1,NO2,NO3,NO4,NO5,NO6
      FROM [826SSBallDB].[dbo].[TB123]--SELECT * FROM TB1
    --SELECT * FROM TB2
      

  7.   

    自增列不可以做为数据列插入,可以在select 列中忽略它。
      

  8.   

    http://topic.csdn.net/t/20060528/15/4784281.html
      

  9.   

    SET IDENTITY_INSERT tbname OFF
    GO
      

  10.   

    谢谢8楼,可修改后查询第101--200时运行结果出现错误(NO1变成了199,所以数据出错),这是何故?请指点INSERT intO TB1 
    SELECT top 200-100+1 NO1,NO2,NO3,NO4,NO5,NO6
      FROM [826SSBallDB].[dbo].[TB211]
      

  11.   

    这为以后的运行埋下了伏笔,就是ID错误,如何解决
    SELECT id,[号     码],[No1],[No2],[No3],[No4],[No5],[No6] 
    FROM  [test].[dbo].[tb1]
    left  join  [tempdb].[dbo].[TB123] ON [tb1].id =[TB123].idorder by id-------------------------------------消息 209,级别 16,状态 1,第 1 行
    列名 'id' 不明确。可单独运行下面时正确
    SELECT id,[号     码],[No1],[No2],[No3],[No4],[No5],[No6] 没有问题什么原因啊
      

  12.   

    SELECT id,[号 码],[No1],[No2],[No3],[No4],[No5],[No6]  
    FROM [test].[dbo].[tb1]
    left join [tempdb].[dbo].[TB123] ON [tb1].id =[TB123].id字段列表的id是个不确定的字段,应该是tb1.id我想
      

  13.   

    问题一:
    如何把[tempdb].[dbo].[TB22]中的“R0   R1   R2   R3   R4   R5   R6”所有的值(R0   R1   R2   R3   R4   R5   R6分别有1107568条)
    *\
    id1      id   R0   R1   R2   R3   R4   R5   R6
    -------------------- -------------------- -----
    169043 169265 278  466  253  60   5    0    0
    169044 169266 296  444  259  59   4    0    0
    169045 169267 301  453  249  57   2    0    0
    169046 169268 300  435  270  51   6    0    0
    ...
    ...(1107568 行受影响)*\写到这个表里(这个表名称[test].[dbo].[tb1]),增加 ORDER BY [tb1].ID
    ID        号     码    No1 No2 No3 No4 No5 No6  R0    R1    R2    R3    R4    R5    R6
    ----------- -------------------------------------------------------------------------------
    1   01 02 03 04 05 06  1   2   3   4   5   6   NULL  NULL  NULL  NULL  NULL  NULL  NULL
    2   01 02 03 04 05 07  1   2   3   4   5   7   NULL  NULL  NULL  NULL  NULL  NULL  NULL
    3   01 02 03 04 05 08  1   2   3   4   5   8   NULL  NULL  NULL  NULL  NULL  NULL  NULL
    4   01 02 03 04 05 09  1   2   3   4   5   9   NULL  NULL  NULL  NULL  NULL  NULL  NULL
    5   01 02 03 04 05 10  1   2   3   4   5   10  NULL  NULL  NULL  NULL  NULL  NULL  NULL
    6   01 02 03 04 05 11  1   2   3   4   5   11  NULL  NULL  NULL  NULL  NULL  NULL  NULL
    7   01 02 03 04 05 12  1   2   3   4   5   12  NULL  NULL  NULL  NULL  NULL  NULL  NULL
    8   01 02 03 04 05 13  1   2   3   4   5   13  NULL  NULL  NULL  NULL  NULL  NULL  NULL
    9   01 02 03 04 05 14  1   2   3   4   5   14  NULL  NULL  NULL  NULL  NULL  NULL  NULL
    10  01 02 03 04 05 15  1   2   3   4   5   15  NULL  NULL  NULL  NULL  NULL  NULL  NULL
    11  01 02 03 04 05 16  1   2   3   4   5   16  NULL  NULL  NULL  NULL  NULL  NULL  NULL(1107568 行受影响)
    问题二:试图用join语句完成SELECT id,[号     码],[No1],[No2],[No3],[No4],[No5],[No6] 
    FROM  [test].[dbo].[tb1]
    left  join  [tempdb].[dbo].[YB22] ON [tb1].ID =[TB22].IDorder by [tb1].id -------------------------------------消息 209,级别 16,状态 1,第 1 行
    列名 'id' 不明确。可单独运行  SELECT id,[号     码],[No1],[No2],[No3],[No4],[No5],[No6] 没有问题,但一起执行left  join  [tempdb].[dbo].[YB22] ON [tb1].id =[TB22].IDorder by [tb1].ID 就出错,什么原因啊
      

  14.   

    please try the following;SELECT a.id,a.[号 码],a.[No1],a.[No2],a.[No3],a.[No4],a.[No5],a.[No6] 
    from tb1 a 
    left join [tempdb].[dbo].[YB22] b ON a.id =b.ID
      

  15.   


    谢谢16楼!数据合并好以后,写到指定的数据表[SSBallDB].[dbo].[1062分析总表]里,加上一句什么语句?请教
      

  16.   

    SELECT  a.id,a.[号     码],a.[No1],a.[No2],a.[No3],a.[No4],a.[No5],a.[No6],b.[R0],b.[R1],b.[R2],b.[R3],b.[R4],b.[R5],b.[R6]  
    from [test].[dbo].[tb1] a  
    left join [SSBallDB].[dbo].[1062分析总表] b ON a.ID =b.id  order  by a.ID谢谢16楼!数据合并好以后,写到指定的数据表[SSBallDB].[dbo].[1062分析总表]里,加上一句什么语句?请教