Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server Can';似乎没有插入我的数据库_Sql Server - Fatal编程技术网

Sql server Can';似乎没有插入我的数据库

Sql server Can';似乎没有插入我的数据库,sql-server,Sql Server,我正在尝试将我们的场地演奏的音乐类型添加到我们的数据库中。该表由一个流派名称和一个简单的私钥组成。无论出于什么原因,当我运行这段代码时,我都会得到一个错误 当identity_insert设置为OFF时,无法在表“Music_Styles”中为identity列插入显式值 我做错了什么 INSERT INTO Musical_Styles (StyleID, StyleName) VALUES ('26', 'AltROCK') 这将完成工作: USE YourDB GO SET IDENT

我正在尝试将我们的场地演奏的音乐类型添加到我们的数据库中。该表由一个流派名称和一个简单的私钥组成。无论出于什么原因,当我运行这段代码时,我都会得到一个错误

当identity_insert设置为OFF时,无法在表“Music_Styles”中为identity列插入显式值

我做错了什么

INSERT INTO Musical_Styles (StyleID, StyleName)
VALUES ('26', 'AltROCK') 
这将完成工作:

USE YourDB
GO
SET IDENTITY_INSERT Schema.YourTable ON;

INSERT INTO Musical_Styles
(StyleID, StyleName)
VALUES (26, 'AltROCK');
SET IDENTITY_INSERT Schema.YourTable OFF;
这将完成工作:

USE YourDB
GO
SET IDENTITY_INSERT Schema.YourTable ON;

INSERT INTO Musical_Styles
(StyleID, StyleName)
VALUES (26, 'AltROCK');
SET IDENTITY_INSERT Schema.YourTable OFF;

最有可能的情况是,您的列
StyleID
被定义为
INT-IDENTITY
-这意味着SQL Server将自动为每次插入增加该列-这意味着您不应该显式地为其提供值-让SQL Server处理它吧

试试这个:

INSERT INTO Musical_Styles (StyleName)
VALUES ('AltROCK') 
但是,如果您确实
必须提供一个明确的值(无论出于何种原因),那么您必须首先在表上启用IDENTITY\u INSERT,插入您的值,然后再次关闭IDENTITY INSERT:

SET IDENTITY_INSERT Musical_Styles ON;

INSERT INTO Musical_Styles (StyleID, StyleName)
VALUES (26, 'AltROCK');

SET IDENTITY_INSERT Musical_Styles OFF;

由于
StyleID
很可能是一个
INT
列,所以不要将该值放在单引号中(这会使其成为字符串,并导致不必要的来回转换)

最有可能的情况是,您的列
StyleID
被定义为
INT-IDENTITY
-这意味着SQL Server将自动为每个插入自动递增该列-这意味着您不应该显式地为其提供值-让SQL Server处理它吧

试试这个:

INSERT INTO Musical_Styles (StyleName)
VALUES ('AltROCK') 
但是,如果您确实
必须提供一个明确的值(无论出于何种原因),那么您必须首先在表上启用IDENTITY\u INSERT,插入您的值,然后再次关闭IDENTITY INSERT:

SET IDENTITY_INSERT Musical_Styles ON;

INSERT INTO Musical_Styles (StyleID, StyleName)
VALUES (26, 'AltROCK');

SET IDENTITY_INSERT Musical_Styles OFF;

由于
StyleID
很可能是一个
INT
列,所以不要将该值放在单引号中(这会使其成为字符串,并导致不必要的来回转换)

IDENTITY\u INSERT
设置为
ON
?如何操作?我以前从未遇到过这种情况如果comumn是
INT
数据类型,为什么要使用quote
'26'
?将
IDENTITY\u INSERT设置为
上的
?我该怎么做?我以前从未遇到过这种情况,如果comumn是
INT
数据类型,为什么要使用quote
'26'
。。。。