登录
首页 >  Golang >  Go问答

从sql文件加载存储过程

来源:stackoverflow

时间:2024-04-05 08:27:36 350浏览 收藏

“纵有疾风来,人生不言弃”,这句话送给正在学习Golang的朋友们,也希望在阅读本文《从sql文件加载存储过程》后,能够真的帮助到大家。我也会在后续的文章中,陆续更新Golang相关的技术文章,有好的建议欢迎大家在评论留言,非常感谢!

问题内容

我有一个包含存储过程的 mysql test.sql 文件。 为了在连接到 go 服务器中的数据库后加载此 sql 文件,我使用了 exec 命令。但我还没有得到我想要的结果。我获取错误代码

1064 您的 sql 语法有错误;检查手册是否正确...

在go中连接数据库后如何从sql文件加载存储过程。

// 转到代码部分:

sqlproc, err := ioutil.readfile("e:/qlass/goserv/src/cevir/test.sql")
// handle error

_, err = mapp.db.db.exec(string(sqlproc[:]))
// handle error

//test.sql的内容

drop procedure if exists test;
delimiter ;;
create procedure test()
begin
    truncate table _prlog;
end ;;
delimiter ;

问题是由 delimeter 命令引起的。我删除了这些行。问题解决了。更正后的sql文件。

drop procedure if exists Test;
create procedure Test()
begin
    truncate table _prlog;
end ;

解决方案


我希望有更多这样的事情:

DB, err = sql.Open("mysql", MAPP.CF.Mysql)
if err != nil {
    // handle error
}
data, err := ioutil.ReadFile(`E:/Qlass/goserv/src/modul/modul_sp.sql`)
if err != nil {
    // handle error
}
sqlProc := string(data)
_, err := DB.Exec(sqlProc)
if err != nil {
    // handle error
}

以上就是《从sql文件加载存储过程》的详细内容,更多关于的资料请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>