2011-09-23 50 views
0

我正在編寫一個groovy腳本來從CSV文件讀取數據,然後將插入到數據庫中。除了生成每個插入的唯一主鍵或自動增量之外,我已經完成了所有工作。唯一的密鑰是campusID。這是腳本。Groovy腳本插入帶有唯一鍵的數據庫條目

def sql = Sql.newInstance("jdbc:mysql://localhost:3306/mydb", 
     "xxxx", "xxxx", "com.mysql.jdbc.Driver") 
     def campus = sql.dataSet("CAMPUS") 



new File("C:\\test.csv").splitEachLine(",") {fields -> 
     campus.add(
      campusId: // Need to generate a unique key here 

      campusShortName: fields[1], 
      campusUrl: fields[2]) 

謝謝。

回答

1

唯一鍵通常由數據庫處理,而不是由代碼處理。

某些數據庫(如MySQL)接受將自動生成的字段設置爲null,而其他數據庫則根本不提供該列。因此,要麼從查詢中刪除campusId,要麼將其設置爲null,並確保該列設置爲AUTO_INCREMENT column

如果你需要插入的ID(例如,作爲外鍵使用),您可以使用正常的SQL方法會更好,並檢查return value of the executeInsert method

+0

在MySQL設置自動增量做到了!非常感謝。 –

相關問題