Вы не можете просто вставить массив в базу данных. Вместо этого вы должны зацикливаться на TopicId
и вставлять их один за другим
func AddTopicModule(atm TopicModule) (string, bool) {
log.Println("the topic is ", atm.TopicId)
db := DatabaseAccess()
tx, _ := db.Begin()
for _, value = range(atm.TopicId){
stmt, err := tx.Prepare("insert into ModuleTopic(module_id, topic_id, added_by) Values(?,?,?) ")
if err != nil {
return "", false
}
res, err := stmt.Exec(atm.ModuleId, value, "Harsh")
if err != nil {
tx.Rollback()
return "", false
}
tx.Commit()
}
return "aa", true
}
Это создаст 2 записи в базе данных для предоставленного вами JSON.
|---------------------|------------------|------------------|
| module_id | topic_id | added_by |
|---------------------|------------------|------------------|
| M101 | tt | Harsh |
|---------------------|------------------|------------------|
| M101 | ee | Harsh |
|---------------------|------------------|------------------|
Чтобы получить их, просто запросите вашу базу данных:
SELECT * FROM ModuleTopic WHERE module_id = M101;