mysql批量更新写法
mysql批量更新写法
<pre>
$namedmp=filter($_POST['namedmp']);
$namedsp=filter($_POST['namedsp']);
$nameula=filter($_POST['nameula']);
$namenva=filter($_POST['namenva']);
$namedcrm=filter($_POST['namedcrm']);
$sql='UPDATE wz_chanpinjieshao
SET titile = CASE id
WHEN 1 THEN ?
WHEN 2 THEN ?
WHEN 3 THEN ?
WHEN 4 THEN ?
WHEN 5 THEN ?
END
WHERE id IN (1,2,3,4,5)';
$stmt = \Db::getStmt($sql);
$isOk=$stmt->execute(array($namedmp,$namedsp,$nameula,$namenva,$namedcrm));
if($isOk){
echo json_encode(array('success' => 1, 'msg' => '更新成功', 'data' => ''));
exit();
}else{
echo json_encode(array('success' => 1, 'msg' => '网络繁忙', 'data' => ''));
exit();
}
</pre>
更新多个字段sql语句
<pre>
UPDATE wz_chanpinjieshao
SET title = CASE id WHEN 1 THEN 11 WHEN 2 THEN 22 WHEN 3 THEN 33 WHEN 4 THEN 44 WHEN 5 THEN 55 END,
summary = CASE id WHEN 1 THEN 11 WHEN 2 THEN 22 WHEN 3 THEN 33 WHEN 4 THEN 44 WHEN 5 THEN 55 END
WHERE id IN (1,2,3,4,5)
</pre>
下面是封装版
<pre>
public function updatechanpinjieshao(){
$nameupdate_ziduan_list=explode(',',$_POST['nameupdate_ziduan']);
$namelist=array();
$duogeziduan='';
foreach ($nameupdate_ziduan_list as $k=>$v) {
$namedmp = filter($_POST['namedmp_' . $v]);
array_push($namelist,$namedmp);
$namedsp = filter($_POST['namedsp_' . $v]);
array_push($namelist,$namedsp);
$nameula = filter($_POST['nameula_' . $v]);
array_push($namelist,$nameula);
$namenva = filter($_POST['namenva_' . $v]);
array_push($namelist,$namenva);
$namedcrm = filter($_POST['namedcrm_' . $v]);
array_push($namelist,$namedcrm);
$duogeziduan.= $v . ' = CASE id WHEN 1 THEN ? WHEN 2 THEN ? WHEN 3 THEN ? WHEN 4 THEN ? WHEN 5 THEN ? END,';
}
$duogeziduan=rtrim($duogeziduan,",");
$sql = 'UPDATE wz_chanpinjieshao SET '.$duogeziduan.' WHERE id IN (1,2,3,4,5)';
$stmt = \Db::getStmt($sql);
$isOk = $stmt->execute($namelist);
if($isOk){
echo json_encode(array('success' => 1, 'msg' => '更新成功', 'data' => ''));
exit();
}else{
echo json_encode(array('success' => 1, 'msg' => '网络繁忙', 'data' => ''));
exit();
}
}
</pre>
mysql批量更新写法的更多相关文章
- mysql 批量更新与批量更新多条记录的不同值实现方法
批量更新 mysql更新语句很简单,更新一条数据的某个字段,一般这样写: 代码如下: UPDATE mytable SET myfield = 'value' WHERE other_field = ...
- mysql 批量更新
bs_user 表,我们叫他 bu表, 字段user_id,len_id, think_wellUser 表,我们简称为tw表,中的user_id ,len_id 其中tw表的user_id 是bu表 ...
- mysql 批量更新与批量更新多条记录的不同值实现方法
作者: 字体:[增加 减小] 类型:转载 时间:2013-10-02 我要评论 在mysql中批量更新我们可能使用update,replace into来操作,下面小编来给各位同学详细介绍mysql ...
- Mysql 批量更新update的表与表之间操作
Mysql 批量更新update的表与表之间操作 一.方法一 使用User2表数据更新User表: update User as a ,User2 as b set a.role_id=b.set_v ...
- mysql 批量更新常用操作
mysql更新语句很简单,更新一条数据的某个字段,一般这样写:复制代码 代码如下: UPDATE mytable SET myfield = 'value' WHERE other_field = ' ...
- mysql批量更新的两种方式效率试验<二>
Mysql两种批量更新的对比 简介: mysql搭载mybits框架批量更新有两种方式,一种是在xml中循环整个update语句,中间以‘:’隔开,还有一种是使用case when 变相实现批量更新, ...
- c#mysql批量更新的两种方法
总体而言update 更新上传速度还是慢. 1: 简单的insert 速度稍稍比MySqlDataAdapter慢一点 配合dapper 配置文件 <?xml version="1 ...
- Mysql批量更新的三种方式
前言 批量插入由于mysql的VALUES原生支持,使用较为便利. 批量更新的写法一般有三种,在更新数量较少的情况下,前两种性能不相上下.但是在更新字段增加,更新条数较多(500以上)建议使用第三种写 ...
- [转]MySQL批量更新死锁案例分析
文章出处:http://blog.csdn.net/aesop_wubo/article/details/8286215 问题描述 在做项目的过程中,由于写SQL太过随意,一不小心就抛了一个死锁异常, ...
随机推荐
- web 前端优化-戈多编程
大家好,我是戈多,从事web开发工作接近三年了,今天来归纳下web前端优化的解决方案(码农搬砖工,来自各网络汇总) 1.减少Http请求 http请求越多,那么消耗的时间越多,如果在加上网络很糟糕,那 ...
- 从一道ctf看php反序列化漏洞的应用场景
目录 0x00 first 前几天joomla爆出个反序列化漏洞,原因是因为对序列化后的字符进行过滤,导致用户可控字符溢出,从而控制序列化内容,配合对象注入导致RCE.刚好今天刷CTF题时遇到了一个类 ...
- BZOJ 4597: [Shoi2016]随机序列
4597: [Shoi2016]随机序列 Time Limit: 20 Sec Memory Limit: 256 MBSubmit: 255 Solved: 174[Submit][Status ...
- 各种常见文件的hex文件头
我们在做ctf时,经常需要辨认各种文件头,跟大家分享一下一些常见的文件头. 扩展名 文件头标识(HEX) 文件描述 123 00 00 1A 00 05 10 04 Lotus 1-2-3 spr ...
- web开发基础之HTTP协议
HTTP协议 HTTP协议简介 超文本传输协议(英文:HyperText Transfer Protocol,缩写:HTTP)是一种用于分布式.协作式和超媒体信息系统的应用层协议.HTTP是万维网的数 ...
- Flink 从 0 到 1 学习 —— 如何自定义 Data Source ?
前言 在 <从0到1学习Flink>-- Data Source 介绍 文章中,我给大家介绍了 Flink Data Source 以及简短的介绍了一下自定义 Data Source,这篇 ...
- Redis 到底是怎么实现“附近的人”这个功能的?
前言:针对“附近的人”这一位置服务领域的应用场景,常见的可使用PG.MySQL和MongoDB等多种DB的空间索引进行实现.而Redis另辟蹊径,结合其有序队列zset以及geohash编码,实现了空 ...
- mysql数据备份之 xtrabackup
上一篇简单介绍了一下mysqldump进行数据库的备份和恢复,这一篇说一下另一种备份工具xtrabackup,在InnoDB事务引擎泛滥的时代,xtrabackup可以很好的支持数据库的热备份,这就很 ...
- Linux对目录操作命令
cd /home 进入 '/ home' 目录 cd .. 返回上一级目录 cd ../.. 返回上两级目录 cd 进入个人的主目录 cd ~u ...
- Sqlsever新增作业执行计划傻瓜式操作
开启数据库代理,启动不了请检查数据库服务的代理是否开启 建议Sqlserver2008以上的版本 完整步骤如下: 查看效果: 10秒以后再来查询:发现数据有多了一些,是不是很简单,嘻嘻!