mysql - 从 sql 文件加载存储过程
问题描述
我有一个包含存储过程的 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 ;
问题是由分隔符命令引起的。我删除了那些行。问题解决了。更正后的 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
}
推荐阅读
- r - R(寓言包)中的预测:寓言中的准确度函数找不到 y 变量
- ffmpeg - 处理输入时发现无效数据。没有找到起始码
- python-3.x - 如何从python中的其他函数访问变量
- module - 通过运行带有 -m 选项的 python,使用 bokeh image_url 绘制本地图像
- c# - 每当您得分时,Unity 都会增加更多时间
- date - 如何使用整数算术将儒略日期转换为不同的表示形式和从不同的表示形式转换出来
- python - 返回 DateTimeField 会导致 OperationError
- mysql - Mysqldump 不会导出所有数据库
- c# - 从不同的应用程序访问文件 - Xamarin iOS
- python - 计算图中每个节点的聚类