2012-02-19 21 views
2

インポート機能を使用して、MS Excel 2007シートからdbテーブルにデータを挿入しようとしています。ここでの課題は、私のdbテーブルにプライマリキーauto_incrementedがあることです。これは、基本的に、エクセルシートでは、主キーデータとして機能するカラムが存在しないという実用的な理由から、編集者が手動でデータを入力し続けるのが面倒になることを意味しています[テーブルのエクセルシートは、つまり、主キー列の最後の数字のタブを維持することは、まさに素晴らしいアイデアではありません。チャレンジlies.Theインポート機能は、特定のテーブルに情報を挿入することを拒否し、むしろデータベースに新しいテーブルを作成し、そこに情報を入力し、前記Excelシートからデータベーステーブルへのインポート

です。これに対処するために、2番目の戦略は、定期的に実行するトリガーまたはストアドプロシージャを持つことです。[いつ、どのように実行されるのかについてのセマンティクスは心配していません]: INSERT INTO requiredDbColumn SELECT *
FROM excelSheetTable

excelSheetTableしか持ってrequiredDbColumn対アップロードされたExcelシートから作成された列の(n-1)の番号を持っているようexcelSheetTableとrequiredDbColumnは値/列の不一致を持っているのでしかし、これは本当に、動作しません。 n個の列があり、追加の列は主キー列です。

私は自動インクリメントになるように主キーを設定しているので、私はなぜINSERT INTO、SELECT状態列数/値の数の不一致を確認していません。

これは一般的な課題は、誰もがこのためのソリューションを持っていますか?

ありがとうございます!

答えて

0

I挿入を行うと、私は典型的には、新たに挿入された行のすべてのフィールドに「値」を与えます。マイインサートでは、主キーフィールドも自動的に自動的にインクリメントされます。

は、ここに私のINSERTコマンドのいずれかからの抜粋です:

INSERT INTO Security.Memberships VALUES (185790, '1461459','asdf',NULL,NULL,1,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL) 

おそらく、あなたはより完全に構築INSERTコマンドが必要?

+0

ありがとうございましたJerryですが、これは、値がSelect * from other_tableコマンドから提供されるInsertです – user1020069