<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 功能強大 支持多語言、二開方便! 廣告
                # 更新數據 ## 更新數據 ``` Db::name('user') ->where('id', 1) ->update(['name' => 'thinkphp']); ``` 實際生成的SQL語句可能是: ``` UPDATE `think_user` SET `name`='thinkphp' WHERE `id` = 1 ``` > update 方法返回影響數據的條數,沒修改任何數據返回 0 支持使用`data`方法傳入要更新的數據 ``` Db::name('user') ->where('id', 1) ->data(['name' => 'thinkphp']) ->update(); ``` > 如果`update`方法和`data`方法同時傳入更新數據,則會進行合并。 如果數據中包含主鍵,可以直接使用: ``` Db::name('user') ->update(['name' => 'thinkphp','id'=>1]); ``` 實際生成的SQL語句和前面用法是一樣的: ``` UPDATE `think_user` SET `name`='thinkphp' WHERE `id` = 1 ``` 如果要更新的數據需要使用`SQL`函數或者其它字段,可以使用下面的方式: ``` Db::name('user') ->where('id',1) ->inc('read_time') ->dec('score',3) ->exp('name','UPPER(name)') ->update(); ``` 實際生成的SQL語句: ``` UPDATE `think_user` SET `read_time` = `read_time` + 1 , `score` = `score` - 3 , `name` = UPPER(name) WHERE `id` = 1 ``` `V5.1.7+`版本以后,支持使用`raw`方法進行數據更新,適合在數組更新的情況。 ``` Db::name('user') ->where('id', 1) ->update([ 'name' => Db::raw('UPPER(name)'), 'score' => Db::raw('score-3'), 'read_time' => Db::raw('read_time+1') ]); ``` ## 更新字段值 ``` Db::name('user') ->where('id',1) ->setField('name', 'thinkphp'); ``` 最終生成的SQL語句可能如下: ``` UPDATE `think_user` SET `name` = 'thinkphp' WHERE `id` = 1 ``` > setField 方法返回影響數據的條數,沒修改任何數據字段返回 0 可以使用`setInc/setDec`方法自增或自減一個字段的值( 如不加第二個參數,默認步長為1)。 ``` // score 字段加 1 Db::table('think_user') ->where('id', 1) ->setInc('score'); // score 字段加 5 Db::table('think_user') ->where('id', 1) ->setInc('score', 5); // score 字段減 1 Db::table('think_user') ->where('id', 1) ->setDec('score'); // score 字段減 5 Db::table('think_user') ->where('id', 1) ->setDec('score', 5); ``` 最終生成的SQL語句可能是: ``` UPDATE `think_user` SET `score` = `score` + 1 WHERE `id` = 1 UPDATE `think_user` SET `score` = `score` + 5 WHERE `id` = 1 UPDATE `think_user` SET `score` = `score` - 1 WHERE `id` = 1 UPDATE `think_user` SET `score` = `score` - 5 WHERE `id` = 1 ``` `setInc/setDec`支持延時更新,如果需要延時更新則傳入第三個參數,下例中延時10秒更新。 ``` Db::name('user')->where('id', 1)->setInc('score', 1, 10); ``` > setInc/setDec 方法返回影響數據的條數,如果使用了延遲更新的話,可能會返回true
                  <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>

                              哎呀哎呀视频在线观看