मैंने एक func बनाया है जो MySQL डेटाबेस पर क्वेरी निष्पादित करता है। मैं इस पैकेज का उपयोग करता हूं "github.com/go-sql-driver/mysql"
लेकिन अगर मैं इसे चलाता हूं:
...
err := database.ExecuteSql("INSERT INTO xxx(field1, field2, field3) VALUES(?, ?, ?)", "field1", 123, time.Now())
...
func ExecuteSql(cmd string, , args ...interface{}) error {
ctx := context.Background()
_, err := db.ExecContext(ctx, cmd, args)
ctx.Done()
...
}
यह मुझे देता है "एसक्यूएल: कनवर्टिंग तर्क $ 1 प्रकार: असमर्थित प्रकार [] इंटरफ़ेस {}, इंटरफ़ेस का एक टुकड़ा"
1 उत्तर
जब आप इस तरह की विधि निष्पादित करते हैं:
_, err := db.ExecContext(ctx, cmd, args)
आप args
को केवल एक []interface{}
तर्क के रूप में पास करते हैं। स्लाइस ExecContext
विधि के तर्क के रूप में समर्थित नहीं हैं, जब तक कि यह []byte
न हो।
आपको args
के साथ अनपैक ऑपरेटर का उपयोग करने की आवश्यकता है:
_, err := db.ExecContext(ctx, cmd, args...)
संबंधित सवाल
नए सवाल
jquery
jQuery एक जावास्क्रिप्ट लाइब्रेरी है, जावास्क्रिप्ट टैग को जोड़ने पर भी विचार करें। jQuery एक लोकप्रिय क्रॉस-ब्राउज़र जावास्क्रिप्ट लाइब्रेरी है, जो दस्तावेज़ ऑब्जेक्ट मॉडल (DOM) ट्रैवर्सल, इवेंट हैंडलिंग, एनिमेशन और AJAX इंटरैक्शन को ब्राउज़रों की विसंगतियों को कम करके सुविधाजनक बनाता है। JQuery से संबंधित एक प्रश्न jQuery से संबंधित होना चाहिए, इसलिए jQuery को प्रश्न में कोड द्वारा उपयोग किया जाना चाहिए और कम से कम jQuery के उपयोग से संबंधित तत्वों को प्रश्न में होना चाहिए।
_, err := db.ExecContext(ctx, cmd, args...)
की कोशिश की?