【问题标题】:Groovy Script to insert database entries with unique keyGroovy 脚本插入具有唯一键的数据库条目
【发布时间】:2011-09-24 05:42:41
【问题描述】:

我正在编写一个 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])

谢谢。

【问题讨论】:

    标签: database groovy


    【解决方案1】:

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

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

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

    【讨论】:

    • 在 MySQL 中设置自动增量做到了!非常感谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多