Sql server Can';似乎没有插入我的数据库
我正在尝试将我们的场地演奏的音乐类型添加到我们的数据库中。该表由一个流派名称和一个简单的私钥组成。无论出于什么原因,当我运行这段代码时,我都会得到一个错误 当identity_insert设置为OFF时,无法在表“Music_Styles”中为identity列插入显式值 我做错了什么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
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'
。。。。