我实际上是 Go 的新手,所以想知道像这样插入数据的最佳方式
{
"moduleId":"M101",
"topicId":["tt","ee"]
}
在 MySQL 数据库中使用 Go
type TopicModule struct {
ModuleId string `json:"moduleId" bson:"moduleId" form:"moduleId"`
TopicId []string `json:"topicId" bson:"topicId" form:"topicId"`
AddedBy string `json:"addedBy" bson:"addedBy" form:"addedBy"`
}
func AddTopicModuleHandler(ctx iris.Context) {
topicmodule := new(TopicModule)
if err := ctx.ReadJSON(topicmodule); err != nil {
panic(err)
ctx.StatusCode(400)
return
}
log.Println(topicmodule.TopicId)
code, created := AddTopicModule(*topicmodule)
if created {
ctx.JSON(topicmodule)
ctx.Redirect("/api/module/"+code, iris.StatusCreated)
}
}
func AddTopicModule(atm TopicModule) (string, bool) {
log.Println("the topic is ", atm.TopicId)
db := DatabaseAccess()
tx, _ := db.Begin()
stmt, err := tx.Prepare("insert into ModuleTopic(module_id, topic_id, added_by) Values(?,?,?) ")
res, err := stmt.Exec(atm.ModuleId, "Ricky")
res1, err := stmt.Exec(atm.ModuleId, "Ric")
if err != nil {
tx.Rollback()
}
tx.Commit()
log.Println(res, res1)
return "aa", true
}
预期的结果是将 JSON 数组添加到 MySQL 中。
慕神8447489
相关分类