我制作了一个脚本,用于连接到数据库并更改特定列中的数据以获得绝对数字。 现在我想从具有特定扩展名的文本文件中读取一个数字,对数据库中的这些数字进行更改,然后使用 .bak 扩展名重命名文件。 请帮帮我。我提前感谢你的帮助!
import groovy.sql.Sql
sql = Sql.newInstance('jdbc:mysql://localhost:3306/database', 'login', 'password', 'com.mysql.jdbc.Driver')
int rowsAffected = sql.executeUpdate('update tablename set column = '01' where number=$NumberFromFile')
println "updated: ${rowsAffected}"
最佳答案
像这样的东西应该可以工作:
def newValue = '01'
new File( '/path/to/data.input' ).with { file ->
file.withReader { reader ->
new Scanner( reader ).useDelimiter( ';' ).with { scanner ->
while( scanner.hasNext() ) {
sql.executeUpdate "UPDATE tablename SET column=$newValue WHERE number=${scanner.nextInt()}"
}
}
}
file.renameTo( new File( file.parent, "${file.name}.bak" ) )
}
显然,您可能想在事务或批处理中执行此操作,但这应该给您想法
关于mysql - Groovy:解析具有特定扩展名的文件以导入 MySQL,然后将其重命名为 *.bak,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13451741/