2012-02-19 92 views
2

我試圖將數據插入到使用導入功能的MS Excel 2007中薄板我的數據庫表。這裏面臨的挑戰是我的數據庫表的主鍵是auto_incremented。這基本上意味着在Excel表格中,出於實際原因,不能存在將作爲主鍵數據的列,因爲這會使編輯人員手動輸入數據變得繁瑣[表格的Excel表格可以添加多個因此保持主鍵列中最後一個數字的標籤並不是一個好主意]。從一個Excel工作表導入到數據庫表

這是其中的挑戰lies.The導入功能拒絕信息插入到特定的表,但在數據庫中,而創建一個新表,並有進入信息。爲了解決這個問題,第二個策略是使用觸發器或存儲過程來執行定期[我不關心執行何時/如何執行的語義]: INSERT INTO requiredDbColumn SELECT *
FROM excelSheetTable

但是,這不會真的起作用,因爲excelSheetTable和requiredDbColumn的值/列不匹配,因爲excelSheetTable只有從已上載的Excel表中創建的(n-1)個列數與requiredDbColumn n列數,附加列是主鍵列。

我已經設置了主鍵上自動遞增,所以我不知道爲什麼INSERT INTO,SELECT狀態的列數/值數量不匹配。

這是一般的挑戰,任何人對此有一個解決方案嗎?

謝謝!

回答

0

當我做一個INSERT,我通常給「價值觀」爲新插入的行中的所有字段。我的插入也自動自動增加主鍵字段。

下面是從我INSERT命令之一的摘錄:

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

也許你需要一個更全面構建INSERT命令?

+0

感謝傑裏,但是這是一個插入其中通過SELECT * FROM other_table命令提供的值 – user1020069 2012-02-20 01:13:23

相關問題