成人性生交大片免费看视频r_亚洲综合极品香蕉久久网_在线视频免费观看一区_亚洲精品亚洲人成人网在线播放_国产精品毛片av_久久久久国产精品www_亚洲国产一区二区三区在线播_日韩一区二区三区四区区区_亚洲精品国产无套在线观_国产免费www

主頁(yè) > 知識(shí)庫(kù) > mysql批量更新多條記錄的同一個(gè)字段為不同值的方法

mysql批量更新多條記錄的同一個(gè)字段為不同值的方法

熱門標(biāo)簽:南通電銷外呼系統(tǒng)哪家強(qiáng) 東莞外呼企業(yè)管理系統(tǒng) 沈陽(yáng)智能外呼系統(tǒng)供應(yīng)商 清遠(yuǎn)申請(qǐng)400電話 手機(jī)外呼系統(tǒng)違法嗎 地圖簡(jiǎn)圖標(biāo)注 如何選擇優(yōu)質(zhì)的外呼系統(tǒng) 谷歌地圖標(biāo)注位置圖解 桂林云電銷機(jī)器人收費(fèi)

首先mysql更新數(shù)據(jù)的某個(gè)字段,一般這樣寫:

UPDATE mytable SET myfield = 'value' WHERE other_field = 'other_value';

也可以這樣用in指定要更新的記錄:

UPDATE mytable SET myfield = 'value' WHERE other_field in ('other_values');

這里注意 ‘other_values' 是一個(gè)逗號(hào)(,)分隔的字符串,如:1,2,3

如果更新多條數(shù)據(jù)而且每條記錄要更新的值不同,可能很多人會(huì)這樣寫:

foreach ($values as $id => $myvalue) {
 $sql = "UPDATE mytable SET myfield = $myvalue WHERE id = $id";
 mysql_query($sql);
}

即是循環(huán)一條一條的更新記錄。一條記錄update一次,這樣性能很差,也很容易造成阻塞。

那么能不能一條sql語(yǔ)句實(shí)現(xiàn)批量更新呢?

mysql并沒(méi)有提供直接的方法來(lái)實(shí)現(xiàn)批量更新,但是可以用點(diǎn)小技巧來(lái)實(shí)現(xiàn)。

UPDATE mytable
 SET myfield = CASE id
 WHEN 1 THEN 'myvalue1'
 WHEN 2 THEN 'myvalue2'
 WHEN 3 THEN 'myvalue3'
 END
WHERE other_field ('other_values')

如果where條件查詢出記錄的id不在CASE范圍內(nèi),myfield將被設(shè)置為空。

如果更新多個(gè)值的話,只需要稍加修改:

UPDATE mytable
 SET myfield1 = CASE id
 WHEN 1 THEN 'myvalue11'
 WHEN 2 THEN 'myvalue12'
 WHEN 3 THEN 'myvalue13'
 END,
 myfield2 = CASE id
 WHEN 1 THEN 'myvalue21'
 WHEN 2 THEN 'myvalue22'
 WHEN 3 THEN 'myvalue23'
 END
WHERE id IN (1,2,3)

這里以php為例,構(gòu)造這兩條mysql語(yǔ)句:

1、更新多條單個(gè)字段為不同值, mysql模式

$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/>";

輸出:

UPDATE mytable SET myfield = CASE id WHEN 1 THEN 11 WHEN 2 THEN 22 WHEN 3 THEN 33 WHEN 4 THEN 44 WHEN 5 THEN 55 WHEN 6 THEN 66 WHEN 7 THEN 77 WHEN 8 THEN 88 END WHERE id IN (1,2,3,4,5,6,7,8);

2、更新多個(gè)字段為不同值, PDO模式

$data = array(array('id' => 1, 'myfield1val' => 11, 'myfield2val' => 111), array('id' => 2, 'myfield1val' => 22, 'myfield2val' => 222));
$where_in_ids = implode(',', array_map(function($v) {return ":id_" . $v['id'];}, $data));
$update_sql = 'UPDATE mytable SET';
$params = array();

$update_sql .= ' myfield1 = CASE id';
foreach($data as $key => $item) {
 $update_sql .= " WHEN :id_" . $key . " THEN :myfield1val_" . $key . " ";
 $params[":id_" . $key] = $item['id'];
 $params[":myfield1val_" . $key] = $item['myfield1val'];
}
$update_sql .= " END";

$update_sql .= ',myfield2 = CASE id';
foreach($data as $key => $item) {
 $update_sql .= " WHEN :id_" . $key . " THEN :myfield2val_" . $key . " ";
 $params[":id_" . $key] = $item['id'];
 $params[":myfield1va2_" . $key] = $item['myfield2val'];
}
$update_sql .= " END";

$update_sql .= " WHERE id IN (" . $where_in_ids . ")";
echo $update_sql.";br/>";
var_dump($params);

輸出:

UPDATE mytable SET myfield1 = CASE id WHEN :id_0 THEN :myfield1val_0 WHEN :id_1 THEN :myfield1val_1 END,myfield2 = CASE id WHEN :id_0 THEN :myfield2val_0 WHEN :id_1 THEN :myfield2val_1 END WHERE id IN (:id_1,:id_2);

array (size=6)
 ':id_0' => int 1
 ':myfield1val_0' => int 11
 ':id_1' => int 2
 ':myfield1val_1' => int 22
 ':myfield1va2_0' => int 111
 ':myfield1va2_1' => int 222

另外三種批量更新方式

1. replace into 批量更新

replace into mytable(id, myfield) values (1,'value1'),(2,'value2'),(3,'value3');

2. insert into ...on duplicate key update批量更新

insert into mytable(id, myfield1, myfield2) values (1,'value11','value21'),(2,'value12','value22'),(3,'value13','value23') on duplicate key update myfield1=values(myfield2),values(myfield2)+values(id);

3. 臨時(shí)表

DROP TABLE IF EXISTS `tmptable`;
create temporary table tmptable(id int(4) primary key,myfield varchar(50));
insert into tmptable values (1,'value1'),(2,'value2'),(3,'value3');
update mytable, tmptable set mytable.myfield = tmptable.myfield where mytable.id = tmptable.id;
  1. 【replace into】和【insert into】更新都依賴于主鍵或唯一值,并都可能造成新增記錄的操作的結(jié)構(gòu)隱患
  2. 【replace into】操作本質(zhì)是對(duì)重復(fù)記錄先delete然后insert,如果更新的字段不全缺失的字段將被設(shè)置成缺省值
  3. 【insert into】則只是update重復(fù)的記錄,更改的字段只能依循公式值
  4. 【臨時(shí)表】方式需要用戶有temporary 表的create 權(quán)限
  5.  數(shù)量較少時(shí)【replace into】和【insert into】性能最好,數(shù)量大時(shí)【臨時(shí)表】最好,【CASE】則具有通用型也不具結(jié)構(gòu)隱患

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,如果有疑問(wèn)大家可以留言交流。

您可能感興趣的文章:
  • MySQL根據(jù)某一個(gè)或者多個(gè)字段查找重復(fù)數(shù)據(jù)的sql語(yǔ)句
  • mysql查詢表里的重復(fù)數(shù)據(jù)方法
  • 在SQL中對(duì)同一個(gè)字段不同值,進(jìn)行數(shù)據(jù)統(tǒng)計(jì)操作

標(biāo)簽:貴州 天津 臨沂 內(nèi)蒙古 成都 常德 重慶 湖州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《mysql批量更新多條記錄的同一個(gè)字段為不同值的方法》,本文關(guān)鍵詞  mysql,批量,更新,多條,記錄,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《mysql批量更新多條記錄的同一個(gè)字段為不同值的方法》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于mysql批量更新多條記錄的同一個(gè)字段為不同值的方法的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    日韩三级久久| 久久久久麻豆v国产精华液好用吗| 九七影院理论片| 99精品全国免费观看视频软件| 538任你躁在线精品免费| 成人台湾亚洲精品一区二区| 欧美承认网站| 国产精品三级网站| 久久久亚洲天堂| 印度午夜性春猛xxx交| 亚洲精品国产精品乱码不卡| 精品一区在线播放| 久久久久久久久丰满| 国产成人综合av| 四虎国产成人永久精品免费| 一区二区成人精品| 成人亚洲欧美一区二区三区| 一区二区不卡在线| 91精品国产91| 又黄又骚的视频| 精品久久久久成人码免费动漫| 经典一区二区三区| 一区二区三区在线资源| 亚洲一区 二区| 四虎影院一区二区| jizzjizzwww| 国产成人在线观看| 一色屋色费精品视频在线看| 成年午夜在线| 中文精品电影| 色欲狠狠躁天天躁无码中文字幕| 亚洲一区二区3| 神马伦理电影| 男女啪啪免费观看| 99久久人妻无码中文字幕系列| 免费h在线看| 欧美一区二区三区在线观看| 国产免费一区二区三区| 国产精品久久久久久久精| 韩国v欧美v日本v亚洲| 日韩在线导航| 国产精品爽黄69天堂a| 99色这里只有精品| 欧美精品乱码久久久久久| 欧美福利在线观看| 欧美亚洲日本在线| 999www成人| 国产欧美一区二区三区精品观看| 国产精品普通话对白| 亚洲成av人片在线| 手机av在线播放| 日韩欧美一卡二卡| 污片在线免费观看| 国产欧美视频一区二区三区| 久久网中文字幕| 欧美电影完整版在线观看| 久久av色综合| 69久久夜色精品国产69乱青草| 99国产成+人+综合+亚洲欧美| 桥本有菜亚洲精品av在线| 国产精品久久久久久久久久白浆| av观看免费| 久久99爱视频| 一区二区视频国产| 亚洲三级网址| 欧美xxxxxxxx| 九色精品国产蝌蚪| 91精品久久久久久久久| 日韩视频在线永久播放| 二区在线播放| 亚洲乱亚洲乱妇| 免费福利在线视频| 精品无码人妻一区二区三区| 亚洲欧美日韩国产一区二区| 一本色道无码道dvd在线观看| 欧洲女同同性吃奶| 亚洲精品永久免费精品| 久久综合入口| 国产欧美一区二区精品性| 欧美在线精品免播放器视频| 深夜视频在线免费| 一本一道久久a久久精品逆3p| 精品国产伦一区二区三区观看方式| 久久香蕉精品香蕉| 亚洲不卡1卡2卡三卡2021麻豆| 精品三级在线观看视频| 中文字幕av在线播放| 99免费看香蕉视频| 无码粉嫩虎白一线天在线观看| 免费看日韩毛片| 在线观看日韩| 天天干天天干天天干| av网站在线免费看推荐| 一本色道无码道dvd在线观看| 欧美做爰啪啪xxxⅹ性| 免费黄色三级网站| 日本一区影院| 51国偷自产一区二区三区| 在线综合色站| 欧美极品videos大乳护士| 国产精品久久久久久久一区探花| 99热这里只有精品7| 成年人网站大全| 亚洲国产激情一区二区三区| 天天射天天色天天干| 精精国产xxxx视频在线播放| 肉大捧一出免费观看网站在线播放| 香蕉久久夜色精品| 亚洲高清在线观看一区| 91精品国产综合久久久久久久久久| 99中文字幕| 国产小视频在线看| 亚洲色图在线观看| 一区二区三区三区在线| 国产亚洲欧美一级| 国产寡妇色xxⅹ交肉视频| 中文字幕佐山爱一区二区免费| 88av在线播放| 五月久久久综合一区二区小说| xxxxx.日韩| 欧美亚洲网站| 欧美亚洲国产精品| 顶级欧美妇高清xxxxx| 国产精品视频精品| 国模精品系列视频| 国产欧美日韩中文| 日韩三级av| 精品国产亚洲av麻豆| 天天色天天上天天操| 岛国大片在线播放| 精品人伦一区二区三区蜜桃免费| 欧美人体一区二区三区| 波多野结衣爱爱视频| 伊人成年综合电影网| 欧美大胆在线视频| 老师让我她我爽了好久视频| 久草视频在线免费看| 天堂√在线中文官网在线| 精品国产免费无码久久久| 亚洲伊人一本大道中文字幕| 亚洲女人毛茸茸高潮| 97在线免费公开视频| www.av在线| 亚洲成人精品视频在线观看| 亚洲国产精品高清久久久| 正在播放91九色| 欧美日韩国产综合视频在线| 国产精品三级视频| 97热精品视频官网| 美腿丝袜亚洲综合| 精品9999| 国产在线一区不卡| 天堂网av2018| 黄色网址大全在线观看| 国产黄色三级网站| 久久精品毛片| 狠狠v欧美ⅴ日韩v亚洲v大胸| 来个黄色网址| 高清国语自产拍免费视频国产| 青青青草原在线| 97在线免费观看视频| 国产免费一区视频观看免费| 久久久久久久91| 亚洲第一激情av| 日韩久久一区二区| 一区二区三区在线视频免费| 91精品国产高久久久久久五月天| 视频一区在线播放| 一区二区三区四区毛片| 日本熟妇人妻中出| 蜜桃视频在线观看一区二区| 中文字幕一区二区三区蜜月| 亚洲二区在线播放| 亚洲 小说 欧美 激情 另类| 久久午夜无码鲁丝片午夜精品| 成年人在线免费| 亚洲一级片av| 日日嗨av一区二区三区四区| 色视频精品视频在线观看| 欧美日韩国产成人高清视频| 性久久久久久| 亚洲丰满少妇videoshd| 亚洲国产精品99久久| 日日骚欧美日韩| 丁香花视频在线观看| 亚洲麻豆精品| 性欧美1819sex性高清大胸| 日韩欧美一区二区三区在线观看| 亚洲一级av毛片| 热re99久久精品国产99热| 欧美亚洲高清一区| 男人午夜视频| 日韩欧美一二区| 日韩一区二区三区视频在线观看| 日韩精品免费| 欧美一区综合| blackedav金发美女大战黑人| 亚洲三级视频在线观看| 久草综合在线观看| 一级毛片美女欧洲| 亚洲国模精品一区| 成 人 黄 色 小说网站 s色| 日韩不卡高清视频| 777777777亚洲妇女| 精品视频一区二区三区四区五区| 欧美片网站yy| 欧美专区第二页| 国产欧美一区二区精品性色超碰| 亚洲欧美日韩第一页| 久久亚洲精品石原莉奈| 欧美成人手机在线视频| 亚洲免费观看高清完整版在线观| 国产精品亚洲一区二区三区在线观看| 一区二区三区www污污污网站| 欧美在线观看黄| 国产乱人伦精品一区| 欧美大片免费观看在线观看网站推荐| 中文字幕无码精品亚洲35| 亚洲成人99| 精东粉嫩av免费一区二区三区| 日韩精品一级毛片在线播放| 天天爽天天爽夜夜爽| 中文字幕另类日韩欧美亚洲嫩草| 久久黄色免费看| 欧美中文字幕视频| 久久午夜宅男免费网站| 18成年在线观看| 国产精品午夜一区二区| 日韩三级在线免费观看| 国产午夜精品全部视频在线播放| 国产欧美精品一区| 久久精品无码人妻| 91在线丨porny丨国产| 国产精品久久久久国产精品日日| www.豆豆成人网.com| 中文字幕九色91在线| 麻豆蜜桃在线观看| 欧美作爱福利免费观看视频| 免费av在线一区| 欧美精品网站| 日本高清不卡免费| 人妻无码一区二区三区久久99| 色诱视频在线观看| 一本一道久久a久久精品逆3p| bl视频在线免费观看| 超碰国产精品久久国产精品99| 色哟哟免费在线观看| 国产亚洲视频在线观看| 亚洲国产精品va在线| 亚洲va久久久噜噜噜无码久久| 亚洲精品中文字幕在线播放| 强伦人妻一区二区三区| 亚洲激情电影在线| 一区二区不卡在线视频 午夜欧美不卡'| 欧美精品久久久久久久久久| 天堂网在线.www天堂在线视频| 一二三四在线视频观看社区| 日韩在线天堂| 国产精品九色蝌蚪自拍| 日韩高清免费观看| 中文字幕不卡在线观看| 一区二区三区中文字幕精品精品| 亚洲久久久久久久久久久| 欧美三级特黄| 久久久久亚洲av片无码| 日韩激情免费视频| 7777奇米亚洲综合久久| 欧美本精品男人aⅴ天堂| 中文字幕av一区| 欧美人与性动交xxⅹxx| 在线视频日韩精品| 久久无码人妻精品一区二区三区| 美日韩精品视频免费看| 97精品国产综合久久久动漫日韩| 麻豆国产91在线播放| 欧美精品自拍偷拍| 亚洲精品mv在线观看| 色综合久久五月| 四虎永久在线精品免费一区二区| 欧美永久精品| www.国产一区二区| 成人在线免费观看av| 蜜臀av一级做a爰片久久| 717影院理论午夜伦不卡久久| 国产区亚洲区欧美区| 欧美国产在线电影| 亚洲综合在线中文字幕| 亚洲综合自拍偷拍| 好男人免费精品视频| 亚洲精品色午夜无码专区日韩| 久久九九视频| 日韩亚洲欧美中文在线| 日韩午夜激情av| 四虎a级欧美在线观看| 久久久国产成人| 激情小说欧美色图| 亚洲激情五月| 毛片在线网址| 在线视频91p| 91嫩草在线播放| 国产精品一区二区av交换| 欧美一级片在线观看| 在线日韩国产网站| 男人女人拔萝卜视频| 91国产免费视频| 国产高清无密码一区二区三区| 伊甸园精品99久久久久久| 欧美精品久久一区二区三区| xxxx69·hdxxxxx| 国模大尺度一区二区三区| 国产精品麻豆入口| 国产精品美女在线播放| 蜜桃传媒一区二区| 国产一区二区高清视频| 欧美亚洲第一页| 国产精品一区而去| 乱小说综合网站| 国产真人做爰毛片视频直播| 91美女主播在线视频| 国产精品私拍pans大尺度在线| 日韩一区二区三区高清在线观看| 国产一区二区三区高清| 欧美在线一区二区视频| 欧美成人免费电影| 亚洲大片精品永久免费| 久久天天躁狠狠躁夜夜躁2014| 日韩精品影音先锋| 婷婷综合在线视频|