<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>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                ### 插入數據 插入數據使用Insert方法,Insert方法的參數可以是一個或多個Struct的指針,一個或多個Struct的Slice的指針。 如果傳入的是Slice并且當數據庫支持批量插入時,Insert會使用批量插入的方式進行插入。 - 插入一條數據,此時可以用Insert或者InsertOne ~~~ user := new(User) user.Name = "myname" affected, err := engine.Insert(user) // INSERT INTO user (name) values (?) ~~~ 在插入單條數據成功后,如果該結構體有自增字段,則自增字段會被自動賦值為數據庫中的id。這里需要注意的是,如果插入的結構體中,自增字段已經賦值,則該字段會被作為非自增字段插入。 ~~~ fmt.Println(user.Id) ~~~ - 插入同一個表的多條數據,此時如果數據庫支持批量插入,那么會進行批量插入,但是這樣每條記錄就無法被自動賦予id值。如果數據庫不支持批量插入,那么就會一條一條插入。 ~~~ users := make([]User, 0) users[0].Name = "name0" ... affected, err := engine.Insert(&users) ~~~ - 使用指針Slice插入多條記錄,同上 ~~~ users := make([]*User, 0) users[0] = new(User) users[0].Name = "name0" ... affected, err := engine.Insert(&users) ~~~ - 插入多條記錄并且不使用批量插入,此時實際生成多條插入語句,每條記錄均會自動賦予Id值。 ~~~ users := make([]*User, 0) 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, 0) users[0].Name = "name0" ... questions := make([]Question, 0) questions[0].Content = "whywhywhwy?" affected, err := engine.Insert(&users, &questions) ~~~ - 插入不同表的一條或多條記錄 ~~~ user := new(User) user.Name = "myname" ... questions := make([]Question, 0) questions[0].Content = "whywhywhwy?" affected, err := engine.Insert(user, &questions) ~~~ 這里需要注意以下幾點: - 這里雖然支持同時插入,但這些插入并沒有事務關系。因此有可能在中間插入出錯后,后面的插入將不會繼續。此時前面的插入已經成功,如果需要回滾,請開啟事物。 - 批量插入會自動生成`Insert into table values (),(),()`的語句,因此各個數據庫對SQL語句有長度限制,因此這樣的語句有一個最大的記錄數,根據經驗測算在150條左右。大于150條后,生成的sql語句將太長可能導致執行失敗。因此在插入大量數據時,目前需要自行分割成每150條插入一次。
                  <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>

                              哎呀哎呀视频在线观看