Insert data
4.Insert data
You can insert objects to database via Insert method.
- Insert one object
1. user := new(User)
2. user.Name = "myname"
3. affected, err := engine.Insert(user)
After inserted, user.ID will be filled if ID is an autoincremented column.
1. fmt.Println(user.Id)
- Insert multiple objects by Slice on one table
1. users := make([]User, 1)
2. users[0].Name = "name0"
3. ...
4. affected, err := engine.Insert(&users)
- Insert multiple records by Slice of pointer on one table
1. users := make([]*User, 1)
2. users[0] = new(User)
3. users[0].Name = "name0"
4. ...
5. affected, err := engine.Insert(&users)
- Insert two objects onto two tables.
1. user := new(User)
2. user.Name = "myname"
3. question := new(Question)
4. question.Content = "whywhywhwy?"
5. affected, err := engine.Insert(user, question)
- Insert multiple objects on multiple tables.
1. users := make([]User, 1)
2. users[0].Name = "name0"
3. ...
4. questions := make([]Question, 1)
5. questions[0].Content = "whywhywhwy?"
6. affected, err := engine.Insert(&users, &questions)
- Insert one or multple objects on multiple tables.
1. user := new(User)
2. user.Name = "myname"
3. ...
4. questions := make([]Question, 1)
5. questions[0].Content = "whywhywhwy?"
6. affected, err := engine.Insert(user, &questions)
Notice: If you want to use transaction on inserting, you should use session.Begin() before calling Insert.
