تحميل الإجراء المخزن من ملف SQL

1

لدي ملف mysql test.sql يحتوي على الإجراء المخزن. لتحميل ملف SQL هذا بعد الاتصال بقاعدة البيانات في خادم go ، استخدمت أمر Exec. لكني لم أحصل على النتيجة التي أريدها. آخذ رمز الخطأ

1064 You have an error in your SQL syntax; check the manual that corr...

كيف يمكنني تحميل الإجراء المخزن من ملف sql بعد توصيل قاعدة البيانات في الذهاب.

// go code code:

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 ;

1 إجابة

1
افضل جواب

أتوقع شيئًا أكثر مثل هذا:

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
}
:مؤلف
فوق
قائمة طعام