mysql 批量更新多条记录

众所周知,当我们想要替换某列的值为指定内容时,往往使用

"updata table set column = value"

那么问题来了,我想要把某列的内容更新为不同的值怎么办呢?

这样来干!

今天我更新数据表的某个字段的时间戳,

项目网址给的时间如下:

 

但是我数据库的时间戳是前些天我录入的时间啊 ,怎么办,客户要求改过来。

那么……

我一一把网页上的时间用PHP转换

$res=array(
    0   => strtotime('2017-04-07'),
    1   => strtotime('2017-04-06'),
    ………………
    ………………
    38  =>strtotime('2017-01-12'),
    39  =>strtotime('2012-12-06'),
    40  =>strtotime('2012-03-01'),
);
foreach($res as $key => $val){
    echo $key.'-'.$val.'++++<br>';
}

然后重点来了,开始执行sql语句了!

update tp_news_content
    set create_at = case id 
        when 1 then 'value1'
        when 2 then 'value2'
        when 3 then 'value3'

        ……(以此类推)
    end

where id >7 and id <48

结束了!

当然  还可以增加字段哟!

update tp_news_content
    set create_at = CASE id 
        when 1 then 'value1'
        when 2 then 'value2'
        when 3 then 'value3'

        ……(以此类推)
    end

    title = case id

        when 1 then 'value1'
        when 2 then 'value2'
        when 3 then 'value3'

        ……(以此类推)
    end

where id >7 and id <48

 

这个意思呢就是当大条件 id大于7小于48的时候,

id=1 的时候 把create_at变为第一个值,

title 变为 指定的title的值

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值