ID(オートインクリメント)カラムを使用したBULK INSERT
2023-07-23 18:39:38
質問
CSVファイルからデータベースに一括でデータを追加しようとしています。
Employeeテーブルには、カラム
ID
(PK)がオートインクリメントされます。
CREATE TABLE [dbo].[Employee](
[id] [int] IDENTITY(1,1) NOT NULL,
[Name] [varchar](50) NULL,
[Address] [varchar](50) NULL
) ON [PRIMARY]
私はこのクエリを使っています。
BULK INSERT Employee FROM 'path\tempFile.csv '
WITH (FIRSTROW = 2,KEEPIDENTITY,FIELDTERMINATOR = ',' , ROWTERMINATOR = '\n');
.CSVファイル
Name,Address
name1,addr test 1
name2,addr test 2
のように記述しますが、このようなエラーメッセージが表示されます。
2行目、1列目(id)の一括読み込みデータ変換エラー(型の不一致または指定されたコードページに対して無効な文字)です。
どのように解決するのですか?
に一括挿入しない。 本当の テーブルへ直接BULK INSERTしないでください。
私ならいつも
-
に挿入します。
ステージング
テーブル
dbo.Employee_Staging
(ただしIDENTITY
カラムを除く) を CSV ファイルから取得します。 - インポートしたデータを編集、クリーンアップ、操作できる可能性があります。
-
のような T-SQL ステートメントを使用して、実際のテーブルにデータをコピーします。
INSERT INTO dbo.Employee(Name, Address) SELECT Name, Address FROM dbo.Employee_Staging
関連
-
[解決済み] 更新時のSqlエラー : UPDATE ステートメントが FOREIGN KEY 制約と競合しています。
-
[解決済み] SQL Serverでシングルクォートを置換する
-
[解決済み] パーセント値を保持するための適切なデータ型?
-
[解決済み] SSISで新しいレコードを挿入する前に、宛先テーブルを空にするにはどうすればよいですか?
-
[解決済み] SQL ServerのIsNull()関数に相当するOracleは何ですか?
-
[解決済み] SQL Server の .sql ファイルとは何ですか?
-
[解決済み] SQL Serverのタイムスタンプ列をdatetime形式に変換する方法
-
[解決済み] SQL Serverでdatetimeを切り捨てるにはどうすればよいですか?
-
[解決済み] 既存のカラムにIDを追加する
-
[解決済み】SQL Serverで既存のテーブルにデフォルト値を持つカラムを追加する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】SQL Server データベース復元エラー:指定されたキャストは有効ではありません。(SqlManagerUI)
-
[解決済み] SQL Server xp_delete_file パラメータ
-
[解決済み] 各GROUP BY式は、外部参照でない列を少なくとも1つ含む必要があります。
-
[解決済み] 等値演算で "SQL_Latin1_General_CP1_CI_AS" と "Latin1_General_CI_AS" の照合の競合を解決できない
-
[解決済み] サブレポートが表示されない。サブレポートは別々に動作します - メインレポートとは連動しません
-
[解決済み] パーセント値を保持するための適切なデータ型?
-
[解決済み] SSISで新しいレコードを挿入する前に、宛先テーブルを空にするにはどうすればよいですか?
-
[解決済み] sp_addrolememberとalter user with default schemaの違いは何ですか...?
-
[解決済み] create関数は、バッチ内の唯一のステートメントでなければなりません。
-
[解決済み] データベース内の全テーブルのサイズを取得する