mysql批量更新查询某个字段_Mysql批量更新某个字段
业务场景
在日常的业务开发过程中,我们通常会遇到需要批量更新一部分数据的某个字段的需求,比如批量排序. 如下图:
当我们点击排序按钮之后,常规的做法是提交表单然后后台逐条取值,使用for循环批量更新数据.OK,这没有问题,但是有更为优秀的方法来帮我们处理这个问题,使用 INSERT INTO 来代替 UPDATE ,这样我们之前可能需要20次甚至更多次的sql查询可以被优化成只需要一条, 具体代码如下:
/**
* 重新排序
*
* @param array $data
* $data = ['id' => '排序值', 'id' => '排序值' ...]
* @return bool
*/
public function resort($data)
{
if (empty($data) || !is_array($data) || !count($data)) {
return false;
}
// 构建SQL语句
$values = array();