身份插入问题

发布于 2024-11-19 06:45:16 字数 237 浏览 1 评论 0原文

我正在尝试运行此脚本:

SET IDENTITY_INSERT dbo.Message ON
INSERT INTO dbo.Message
SELECT (Values I want to insert)

当我这样做时,我仍然收到错误 *仅当使用列列表且 IDENTITY_INSERT 为 ON 时,才能指定表“dbo.Message”中标识列的显式值。*

我做错了什么?

I am trying to run this script:

SET IDENTITY_INSERT dbo.Message ON
INSERT INTO dbo.Message
SELECT (Values I want to insert)

and when I do I still get the error
*An explicit value for the identity column in table 'dbo.Message' can only be specified when a column list is used and IDENTITY_INSERT is ON.*

What am I doing wrong?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

傲鸠 2024-11-26 06:45:16

错误的关键是“当使用列列表时”。你想要:

SET IDENTITY_INSERT dbo.Message ON
INSERT INTO dbo.Message (column1, column2, ...) -- Added column list here
SELECT (Values I want to insert)

The key to your error is "when a column list is used". You want:

SET IDENTITY_INSERT dbo.Message ON
INSERT INTO dbo.Message (column1, column2, ...) -- Added column list here
SELECT (Values I want to insert)
扬花落满肩 2024-11-26 06:45:16

您需要按照错误消息的说明进行操作。代码格式如下:

INSERT INTO dbo.Message
(col1, col2, col3, col4)
SELECT Col1, col2, col3, col4
FROM OtherTable

您需要在 INSERT 行之后提供字段列表,并且需要在 SELECT 中指定字段名称 - SELECT * 不起作用。

You need to do just as the error message says. Format your code like:

INSERT INTO dbo.Message
(col1, col2, col3, col4)
SELECT Col1, col2, col3, col4
FROM OtherTable

You need the list of fields after the INSERT line, and you need to specify the field names in your SELECT - SELECT * won't work.

浅沫记忆 2024-11-26 06:45:16

您必须在 Insert 语句和 select 子句中提及所有列名称。
像这样的事情。

插入表

[第1栏],
[第2栏]

选择
[第1栏],
[第2栏]

You have to mention all the columns Name in both Insert Statement and in select clause.
Some thing like this.

Insert Into tbl
(
[col1],
[col2]
)
SELECT
[col1],
[col2]

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文