一般的に、データ テーブル内の列を ID 列として設定すると、ID 列の表示値を手動で ID 列に挿入することはできません。ただし、SET IDENTITY_INSERT プロパティを設定することで、ID 列に表示値を手動で挿入することができます。 書き方:
注意: IDENTITY_INSERT ON と OFF はペアで表示されるため、手動挿入操作を実行した後は、IDENTITY_INSERT を OFF に設定することを忘れないでください。そうしないと、次のデータの自動挿入が失敗します。 例えば: b_id を識別列として持つテーブル b1 を作成します。これを 1 から始まる一意の識別子として設定します。新しいデータが挿入されるたびに、値は 1 ずつ増加し、空にすることはできません。 テーブルb1を作成 ( b_id int identity(1,1) 主キーがnullでない、 b_name varchar(20) ヌル ) テーブル b1 の b_id 列が一意の識別子列として設定されている場合、IDENTITY_INSERT プロパティの値はデフォルトで OFF に設定されます。 ID 列 b_id では、表示値を手動で挿入することはできません。システムは、表示値をソート順に自動的に挿入することしかできません。 1. IDENTITY_INSERTがOFFの場合、テーブルb1に2つのレコードを挿入し、ID列に表示値を手動で挿入します。コード1: b1(b_id,b_name) に値(1,'Lily') を挿入します。 b1(b_id,b_name) に値(2,'阿呆') を挿入します 結果を挿入: コード2: b1(b_name) に値('Lily') を挿入します b1(b_name) に値('阿呆') を挿入します 結果を挿入: 注意: IDENTITY_INSERT が OFF に設定されている場合、ID 列への表示値の手動挿入は許可されません。システムは ID 列に表示値を自動的に挿入することしかできません。 2. IDENTITY_INSERTがONの場合、テーブルb1に2つのレコードを挿入し、ID列に表示値を手動で挿入します。コード1: set identity_insert b1 on -- ID 列の挿入モードを有効にします。ID 列では、表示値を手動で挿入できます。 insert into b1(b_id,b_name) values(8,'小白') -- ID 列 b_id の表示値を 8 に手動で挿入します。 b1(b_id,b_name) に値(9,'小黒') を挿入します set identity_insert b1 off -- ID 列への挿入操作を無効にします。ID 列では、表示値を手動で挿入することはできません。 結果を挿入: コード2: set identity_insert b1 on -- ID 列の挿入モードを有効にします。ID 列では、表示値を手動で挿入できます。 insert into b1(b_name) values('小胖') -- ID 列の表示値を手動で挿入します b_id to 8 b1(b_name) に値('Xiaobao') を挿入します set identity_insert b1 off -- ID 列への挿入操作を無効にします。ID 列では、表示値を手動で挿入することはできません。 結果を挿入: 注意: IDENTITY_INSERT を ON に設定する場合は、ID 列に挿入する表示値を指定し、その表示値を手動で ID 列に挿入する必要があります。システムは ID 列の表示値を自動的に挿入しなくなるためです。したがって、ID 列に表示値を手動で挿入する必要があります。 SQL IDENTITY_INSERTの詳細な事例についてはこれで終わりです。SQL IDENTITY_INSERTの役割についてさらに詳しく知りたい方は、123WORDPRESS.COMの過去の記事を検索するか、以下の関連記事を引き続きご覧ください。今後とも123WORDPRESS.COMをよろしくお願いいたします。 以下もご興味があるかもしれません:
|
>>: Nginx プロセス スケジューリングの問題の詳細な説明
【1】<i></i>タグと<em></em>タグ同じ...
Docker の使用に関するヒント1. 停止したDockerコンテナをすべてクリーンアップする停止し...
1. まず、Linux サーバー上で公開鍵ファイルと秘密鍵ファイルを生成します。デフォルトの保存ディ...
Dockerfileを初期化するプロジェクトの名前が express であると仮定して、expres...
LinuxにRedisをインストールしたら、Javaを使って接続します。Javaコードは次のとおりで...
目次概要Node.js における CPU バウンド アプリケーションの歴史CPUを集中的に使用する操...
アイデア:外側のボックスは背景を設定し、内側のボックスは背景の幅と高さを設定し、ボックスを動かすアニ...
目次1. はじめに2. ソリューションの実装2.1 実装コード2.2 コードの説明2.3 検証結果1...
目次序文1. MySQLをアンインストールする2. MySQLをインストールする要約する序文学習中に...
システム環境: Win10 64ビットMySQL バージョン: mysql-5.7.18-winX6...
MySQL x64 はインストーラーを提供していません、インストーラーを提供していません、インストー...
オリジナルリンク: https://vien.tech/article/157序文この記事では、Ub...
目次ループ - for forループの基本的な使い方ループを終了するネストされたループ配列配列とは何...
目次1. プラットフォームバスの紹介1.1. Linuxドライバの分離と階層化1.1.1. Linu...
1. レビューMySQL の起動後にバッファ プールが初期化されます。バッファ プールは N 個の空...