更新表中的某个字段+1

格式:update 表名称 set 字段名称 = 字段名称 + 1 [ where语句]

update student set age =age+1 where sex="女";

更新所有女生的年龄+1

注意:一般情况用于计数,比如会员卡使用次数,每使用一次,使用次数+1


在MySQL中,更新中某个字段值有多种方法,下面结合参考引用为你详细介绍: ### 单更新单个字段为固定值 可使用基本的`UPDATE`语句,例如将`person`中所有用户的`nickname`字段更新为`'新昵称'`: ```sql UPDATE person SET nickname = '新昵称'; ``` ### 用一个更新另一个的单个字段 若要将`person`中`mobile`字段更新为`login`中的`account`字段值,可通过关联来实现: ```sql UPDATE person INNER JOIN login ON person.id = login.person_id SET person.mobile = login.account; ``` 这里使用`INNER JOIN`基于`person`的`id`和`login`的`person_id`进行关联,然后把`login`的`account`值赋给`person`的`mobile`字段,此方法引用自引用[1]和引用[3]。 ### 批量修改字段数据成不同的值 若要批量更新`mytable`中`myfield`字段为不同值,可使用`CASE WHEN`语句。示例代码如下: ```php <?php $ids_values = array( 1 => 11, 2 => 22, 3 => 33, 4 => 44, 5 => 55, 6 => 66, 7 => 77, 8 => 88 ); $ids = implode(',', array_keys($ids_values)); $sql = "UPDATE mytable SET myfield = CASE id "; foreach ($ids_values as $id => $myvalue) { $sql .= sprintf("WHEN %d THEN %d ", $id, $myvalue); } $sql .= "END WHERE id IN ($ids)"; echo $sql.";<br/>"; ?> ``` 将上述代码运行后会生成SQL语句,执行该语句就可批量更新不同`id`对应的`myfield`值,此方法引用自引用[2]。 ### 更新字段为该另一个字段处理后的值 假设要更新`print`的`biz_date`字段,使其值为`code`字段截取前8位(年月日),可使用如下SQL语句: ```sql UPDATE print SET biz_date = LEFT(code, 8); ``` 此方法可用于把中一个字段处理后的值更新到另一个字段,引用自引用[4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

希文先森

您的鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值