💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
## 更新数据表中的数据 > 数据库操作使用 Db类封装方法,请事先在引入 Db类 ~~~ use think\facade\Db; ~~~ ~~~ Db::name('user') ->where('id', 1) ->update(['user_nickname' => '老猫是家里最懒的猫']); ~~~ 如果数据中包含主键,可以直接使用: ~~~ Db::name('user') ->update(['user_nickname' => '老猫是家里最懒的猫', 'id' => 1]); ~~~ > update 方法返回影响数据的条数,没修改任何数据返回 0 如果要更新的数据需要使用SQL函数或者其它字段,可以使用下面的方式: ~~~ Db::name('user') ->where('id', 1) ->update([ 'last_login_time' => ['exp', 'unix_timestamp(now())'], 'score' => ['exp', 'score+10'], ]); ~~~ 更新某个字段的值: ~~~ Db::name('user') ->where('id', 1) ->setField('user_nickname', '老猫是家里最懒的猫'); ~~~ > setField 方法返回影响数据的条数,没修改任何数据字段返回 0 ## 自增或自减一个字段的值 setInc/setDec 如不加第二个参数,默认值为1 ~~~ // score 字段加 1 Db::name('user') ->where('id', 1) ->setInc('score'); // score 字段加 5 Db::name('user') ->where('id', 1) ->setInc('score', 5); // score 字段减 1 Db::name('user') ->where('id', 1) ->setDec('score'); // score 字段减 5 Db::name('user') ->where('id', 1) ->setDec('score', 5); ~~~ ## 延迟更新 setInc/setDec支持延时更新,如果需要延时更新则传入第三个参数 下例中延时10秒,给score字段增加1 ~~~ Db::name('user')->where('id', 1)->setInc('score', 1, 10); ~~~ > setInc/setDec 方法返回影响数据的条数 上一篇:[添加数据](https://www.kancloud.cn/thinkcmf/doc5_1/957810)