我这里是直接通过分号截取字符串,然后再一条条的执行,使用sql的事务功能
scripts := strings.Split(sqlString, ";\r")
dbReconnect()
//开启事务
tx, err := DB.Begin()
if err != nil {
return false
}
err= nil
for k, v := range scripts {
_, err = tx.Exec(v)
if err!=nil{
return false
}
fmt.Println("正在执行第"+strconv.Itoa(k+1)+"条sql语句")
}
err = tx.Commit()
if err == nil {
return true
}
return false