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

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                # 插入更新 ### [](https://octobercms.com/docs/database/query#inserts)插入物 查詢構建器還提供了`insert`一種將記錄插入數據庫表中的方法。該`insert`方法接受要插入的列名稱和值的數組: ~~~ Db::table('users')->insert( ['email' => 'john@example.com', 'votes' => 0] ); ~~~ 您甚至可以`insert`通過傳遞數組數組來一次調用將多個記錄插入表中。每個數組代表要插入表中的一行: ~~~ Db::table('users')->insert([ ['email' => 'taylor@example.com', 'votes' => 0], ['email' => 'dayle@example.com', 'votes' => 0] ]); ~~~ #### 自動遞增ID 如果表具有自動遞增的ID,請使用該`insertGetId`方法插入記錄,然后檢索ID: ~~~ $id = Db::table('users')->insertGetId( ['email' => 'john@example.com', 'votes' => 0] ); ~~~ > **注意:**使用PostgreSQL數據庫驅動程序時,insertGetId方法要求將自動遞增列命名為`id`。如果您想從其他“序列”中檢索ID,則可以將序列名稱作為第二個參數傳遞給`insertGetId`方法。 ### [](https://octobercms.com/docs/database/query#updates)更新 除了將記錄插入數據庫之外,查詢構建器還可以使用該`update`方法更新現有記錄。與`update`方法一樣,該`insert`方法接受包含要更新的列的列和值對的數組。您可以`update`使用以下`where`子句約束查詢: ~~~ Db::table('users') ->where('id', 1) ->update(['votes' => 1]); ~~~ #### 更新或插入(每行一個查詢) 有時,您可能希望更新數據庫中的現有記錄,或者如果不存在匹配的記錄,則創建它。在這種情況下,`updateOrInsert`可以使用該方法。該`updateOrInsert`方法接受兩個參數:用于查找記錄的條件數組,以及包含要更新的列的列和值對的數組。 該`updateOrInsert`方法將首先嘗試使用第一個參數的列和值對查找匹配的數據庫記錄。如果記錄存在,它將使用第二個參數中的值進行更新。如果找不到該記錄,則將插入具有兩個參數的合并屬性的新記錄: ~~~ Db::table('users') ->updateOrInsert( ['email' => 'john@example.com', 'name' => 'John'], ['votes' => '2'] ); ~~~ #### 更新或插入/`upsert()`(批處理查詢以在一個數據庫調用中處理多行) 該`upsert`方法將插入不存在的行,并使用新值更新已存在的行。該方法的第一個參數由要插入或更新的值組成,而第二個參數列出了唯一標識關聯表中的記錄的列。該方法的第三個也是最后一個參數是一個列數組,如果數據庫中已經存在匹配的記錄,則應更新該列: ~~~ DB::table('flights')->upsert([ ['departure' => 'Oakland', 'destination' => 'San Diego', 'price' => 99], ['departure' => 'Chicago', 'destination' => 'New York', 'price' => 150] ], ['departure', 'destination'], ['price']); ~~~ > **注意:**除SQL Server以外,所有數據庫均要求該`upsert`方法第二個參數中的列具有“主”或“唯一”索引。 #### 更新JSON列 更新JSON列時,應使用`->`語法訪問JSON對象中的相應鍵。MySQL 5.7+和PostgreSQL 9.5+支持此操作: ~~~ $affected = Db::table('users') ->where('id', 1) ->update(['options->enabled' => true]); ~~~ #### 增/減 查詢構建器還提供了方便的方法來增加或減少給定列的值。這只是一條捷徑,與手動編寫該`update`語句相比,它提供了更具表達力和簡潔的界面。 這兩種方法都至少接受一個參數:要修改的列。可以選擇傳遞第二個參數來控制對列進行增減的數量。 ~~~ Db::table('users')->increment('votes'); Db::table('users')->increment('votes', 5); Db::table('users')->decrement('votes'); Db::table('users')->decrement('votes', 5); ~~~ 您還可以指定其他列以在操作期間進行更新: ~~~ Db::table('users')->increment('votes', 1, ['name' => 'John']); ~~~
                  <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>

                              哎呀哎呀视频在线观看