Copyright © 2022-2024 aizws.net · 网站版本: v1.2.6·内部版本: v1.23.3·
页面加载耗时 0.00 毫秒·物理内存 62.3MB ·虚拟内存 1299.8MB
欢迎来到 AI 中文社区(简称 AI 中文社),这里是学习交流 AI 人工智能技术的中文社区。 为了更好的体验,本站推荐使用 Chrome 浏览器。
插入数据使用Insert方法,Insert方法的参数可以是一个或多个Struct的指针,一个或多个Struct的Slice的指针。
如果传入的是Slice并且当数据库支持批量插入时,Insert会使用批量插入的方式进行插入。
user := new(User) user.Name = "myname" affected, err := engine.Insert(user) // INSERT INTO user (name) values (?)
在插入单条数据成功后,如果该结构体有自增字段(设置为autoincr),则自增字段会被自动赋值为数据库中的id。这里需要注意的是,如果插入的结构体中,自增字段已经赋值,则该字段会被作为非自增字段插入。
fmt.Println(user.Id)
users := make([]User, 1) users[0].Name = "name0" ... affected, err := engine.Insert(&users)
users := make([]*User, 1) users[0] = new(User) users[0].Name = "name0" ... affected, err := engine.Insert(&users)
users := make([]*User, 1) users[0] = new(User) users[0].Name = "name0" ... affected, err := engine.Insert(users...)
user := new(User) user.Name = "myname" question := new(Question) question.Content = "whywhywhwy?" affected, err := engine.Insert(user, question)
users := make([]User, 1) users[0].Name = "name0" ... questions := make([]Question, 1) questions[0].Content = "whywhywhwy?" affected, err := engine.Insert(&users, &questions)
user := new(User) user.Name = "myname" ... questions := make([]Question, 1) questions[0].Content = "whywhywhwy?" affected, err := engine.Insert(user, &questions)
这里需要注意以下几点:
Created可以让您在数据插入到数据库时自动将对应的字段设置为当前时间,需要在 xorm 标记中使用created标记,如下所示进行标记,对应的字段可以为time.Time或者自定义的time.Time或者int, ...