2

あるデータベースから別のサーバー上の別のデータベースに行をコピーしようとしていました。クエリは次のとおりです。

set identity_insert ms_tpl on

INSERT ms_tpl select * from [10.24.0.2].[MILKP].[dbo].[ms_tpl] where [id] = 3076

set identity_insert ms_tpl off

F5 を押したところ、次のようなエラー メッセージが表示されました。

メッセージ 8101、レベル 16、状態 1、行 3

テーブル 'ms_tpl' の ID 列の明示的な値は、列リストが使用され、IDENTITY_INSERT が ON の場合にのみ指定できます。

クエリに間違いはありますか? この問題を解決するには?

詳細: データベースには、自動インクリメントでms_tpl呼び出される列が 1 つあります。id

ありがとう

4

2 に答える 2

6

テーブル 'ms_tpl' の ID 列の明示的な値は、列リストが使用され 、IDENTITY_INSERT が ON の場合にのみ指定できます。

使用しないでください*。列をリストします。

INSERT into ms_tpl (col1, col2, ...) select col1, col2, ... from ...
于 2012-05-21T08:22:01.227 に答える
0

挿入ステートメントに列リストを追加します

INSERT ms_tpl column1, column2, ...

これで問題は解決します

于 2012-05-21T08:23:41.430 に答える