尝试导入查询,显示错误

时间:2014-09-16 11:56:01

标签: sql sql-server

我尝试备份我的数据库。 所以当我备份它工作,但当我导入SQL数据库时,它显示错误

表示sql export`

IF OBJECT_ID('AIc', 'U') IS NOT NULL
DROP TABLE AIc
CREATE TABLE AIc
(
IDAIC int  NOT NULL IDENTITY(10,2),
name nvarchar (50)  
);

INSERT INTO AIc (IDAIC,name) Values 
(10,'asaf'),
(12,'shazar');

错误:

  

无法在表'AIc'中为identity列插入显式值   IDENTITY_INSERT设置为OFF。

4 个答案:

答案 0 :(得分:1)

由于IDAIC列是IDENTITY列,因此您有两种选择:

(1)您只是没有提供值,让SQL Server自己处理这些值的INSERT('是首选的,默认的插入数据的方式):

INSERT INTO AIc(name) Values('asaf'), ('shazar');        

(2)如果您必须自己指定这些值,则需要先启用SET IDENTITY_INSERT ON(并在{{之后再将其关闭) 1}}):

INSERT

答案 1 :(得分:0)

您可以像这样在表格上启用标识插入,以便您可以指定自己的标识值。

    IF OBJECT_ID('AIc', 'U') IS NOT NULL
DROP TABLE AIc
    CREATE TABLE AIc
    (
       IDAIC int  NOT NULL IDENTITY(10,2),
       name nvarchar (50)  
    );
    SET IDENTITY_INSERT AIc ON

    INSERT INTO AIc (IDAIC,name) Values 
    (10,'asaf'),
    (12,'shazar');

    SET IDENTITY_INSERT AIc OFF

答案 2 :(得分:0)

您正在为IDAIC插入一个标识列的值。

您可以像这样在表格上启用标识插入,以便您可以指定自己的标识值。

SET IDENTITY_INSERT AIc ON

INSERT INTO AIc 
/*Note the column list is REQUIRED here, not optional*/
(IDAIC,name) 
Values 
(10,'asaf'),
(12,'shazar');


SET IDENTITY_INSERT AIc OFF 

答案 3 :(得分:0)

请尝试以下代码: -

IF OBJECT_ID('AIc', 'U') IS NOT NULL
DROP TABLE AIc
CREATE TABLE AIc
(
    IDAIC int  NOT NULL IDENTITY(10,2),
    name nvarchar (50)  
);

SET IDENTITY_INSERT AIc ON;

INSERT INTO AIc (IDAIC,name) Values 
(10,'asaf'),
(12,'shazar');