<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                [TOC] # 查詢 ~~~ o := orm.NewOrm() user := User{Id: 1} err := o.Read(&user) if err == orm.ErrNoRows { fmt.Println("查詢不到") } else if err == orm.ErrMissPK { fmt.Println("找不到主鍵") } else { fmt.Println(user.Id, user.Name) } ~~~ Read 默認通過查詢主鍵賦值,可以使用指定的字段進行查詢: ~~~ user := User{Name: "slene"} err = o.Read(&user, "Name") ... ~~~ 對象的其他字段值將會是對應類型的默認值 ~~~ //查詢 func queryUser() { o := orm.NewOrm() user := models.User{Id: 20} err := o.Read(&user) if err != nil { beego.Info("query is error") return } beego.Info("user = ", user) } ~~~ ## 查詢不到就創建 嘗試從數據庫讀取,不存在的話就創建一個 默認必須傳入一個參數作為條件字段,同時也支持多個參數多個條件字段 ~~~ o := orm.NewOrm() user := User{Name: "slene"} // 三個返回參數依次為:是否新創建的,對象 Id 值,錯誤 if created, id, err := o.ReadOrCreate(&user, "Name"); err == nil { if created { fmt.Println("New Insert an object. Id:", id) } else { fmt.Println("Get an object. Id:", id) } } ~~~ # 插入 ~~~ //插入 func inserUser() { o := orm.NewOrm() //實體 user := models.User{} user.Name = "111" //要給地址 i, e := o.Insert(&user) if e != nil { beego.Info("err: ") return } beego.Info("id = ", i) } ~~~ ## 插入多個值 同時插入多個對象 類似sql語句 ~~~ insert into table (name, age) values("slene", 28),("astaxie", 30),("unknown", 20) ~~~ 第一個參數 bulk 為并列插入的數量,第二個為對象的slice 返回值為成功插入的數量 ~~~ users := []User{ {Name: "slene"}, {Name: "astaxie"}, {Name: "unknown"}, ... } successNums, err := o.InsertMulti(100, users) ~~~ bulk 為 1 時,將會順序插入 slice 中的數據 # 更新 第一個返回值為影響的行數 ~~~ o := orm.NewOrm() user := User{Id: 1} if o.Read(&user) == nil { user.Name = "MyName" if num, err := o.Update(&user); err == nil { fmt.Println(num) } } ~~~ Update 默認更新所有的字段,可以更新指定的字段: ~~~ // 只更新 Name o.Update(&user, "Name") // 指定多個字段 // o.Update(&user, "Field1", "Field2", ...) ... ~~~ ~~~ //更新 func userUpdate() { o := orm.NewOrm() user := models.User{Id: 1, Name: "haha"} i, err := o.Update(&user) if err != nil { beego.Info("update is error") return } beego.Info("user 更新: ", i) } ~~~ # 刪除 第一個返回值為影響的行數 ~~~ o := orm.NewOrm() if num, err := o.Delete(&User{Id: 1}); err == nil { fmt.Println(num) } ~~~ Delete 操作會對反向關系進行操作,此例中 Post 擁有一個到 User 的外鍵。刪除 User 的時候。如果 on\_delete 設置為默認的級聯操作,將刪除對應的 Post ~~~ //刪除 func deleteUser() { o := orm.NewOrm() user := models.User{Id: 2} i, err := o.Delete(&user) if err != nil { beego.Info("delete is error") return } beego.Info("user delete: ", i) } func main() { //調用下數據庫方法 //inserUser() //queryUser() //userUpdate() deleteUser() beego.Run() } ~~~
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看