2012-08-10 81 views
1

我有一個需要上傳到SQL表的大型數據集(250,000行)。我目前正在從我創建的Java應用程序執行此操作,並且正如預期的那樣,它非常慢。我必須將每行從文本文件插入到表中,並使用auto_increment列存儲新行的id。現在我想用同一個id將我輸入到第一個表的字符串的修改版本插入到第二個表中,其中一列包含原始遞增的id,這樣我就可以將兩行結合在一起。很明顯,我可以查詢剛剛插入的字符串,並拉出id,但這是我試圖避免的每行額外查詢。有沒有辦法將執行insert語句時從sql表中增加的id值拉到java類中?SQL返回插入的Auto_increment值

感謝,

+0

您正在使用哪個數據庫服務器? – Diego 2012-08-10 23:48:51

+0

其在亞馬遜AWS上的RDS實例上運行的SQL數據庫。這有幫助嗎? – user1028882 2012-08-10 23:57:23

+0

不幸的是,它沒有。 RDS只是一個RDBMS實例的接口,所有RDBMS都使用SQL,但檢索新插入行的ID的方式在它們之間會有很大變化。我建議你找出你連接的數據庫服務器是SQL Server,MySQL,Oracle,PostgreSQL還是別的。 – Diego 2012-08-11 01:32:06

回答

1

我猜你正在使用JDBC 所以使用java.sql.PreparedStatementgetGeneratedKeys()。返回的Resulset包含自動生成的密鑰。

+0

謝謝,正是我需要的! – user1028882 2012-08-11 02:56:31