Groovy脚本用于插入具有唯一键的数据库条目

时间:2011-09-23 21:15:57

标签: database groovy

我正在编写一个groovy脚本来读取CSV文件中的数据,然后将插入数据拉入数据库。我已经完成了所有工作,除了为每个插入生成一个唯一的主键或自动增量。唯一键是campusID。这是脚本。

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 个答案:

答案 0 :(得分:1)

唯一键通常由数据库处理,而不是由代码处理。

某些数据库(如MySQL)接受将自动生成的字段设置为null,其他数据库则要求根本不提供该列。因此,要么从查询中删除campusId,要么将其设置为null,并确保该列设置为AUTO_INCREMENT column

如果您需要插入的ID(例如,用作外键),最好使用普通的SQL方法,并检查return value of the executeInsert method