ホームページ > データベース > mysql チュートリアル > 「ID 列に明示的な値を挿入できません」エラーを解決するにはどうすればよいですか?

「ID 列に明示的な値を挿入できません」エラーを解決するにはどうすればよいですか?

DDD
リリース: 2025-01-19 09:26:09
オリジナル
559 人が閲覧しました

How to Resolve the

「ID 列に明示的な値を挿入できません」エラーを解決します

ID 列 (自動インクリメント主キーなど) を含むテーブルにレコードを挿入するときは、データベースがこの列の値を自動的に生成するようにしてください。 IDENTITY_INSERT プロパティが OFF に設定されているときに ID 列の値を手動で指定しようとすると、エラーが発生します。

解決策

この問題を解決するには、レコードを挿入する前に IDENTITY_INSERT を ON に設定する必要があります:

SET IDENTITY_INSERT 表名 ON
ログイン後にコピー

これにより、独自に指定した ID 値を挿入できるようになります。今後の問題を防ぐために、挿入後は必ず IDENTITY_INSERT を OFF に戻してください:

SET IDENTITY_INSERT 表名 OFF
ログイン後にコピー

変更された挿入ステートメント

IDENTITY_INSERT が有効になったので、期待どおりにレコードを挿入できます。

SET IDENTITY_INSERT 表名 ON

INSERT INTO 表名(OperationID, OpDescription, FilterID)
VALUES (20, 'Hierachy Update', 1)

SET IDENTITY_INSERT 表名 OFF
ログイン後にコピー

これらの手順を使用すると、「識別列に明示的な値を挿入できません」エラーを引き起こすことなく、識別列を含むテーブルにレコードを挿入できます。

以上が「ID 列に明示的な値を挿入できません」エラーを解決するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート