国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

mysql 一次更新(update)多條記錄的思路

2020-01-18 23:14:35
字體:
來源:轉載
供稿:網友

工作中遇到一個問題:要更新一個數據表。

這個表是我自己創建的,有7個字段,id、name、package等等

創建的時候,因為我把name、package的信息分別存在兩個文本文件中,

所以我就用Insert方法,一次性將所有的name插入數據庫中。

name全部導入數據庫中了,但是我的package沒有導入,這時我仍然想用insert的方法插入,但是不行。

這時候應該利用update的方法。一次更新多條信息的思路如下:

UPDATE table_name SET field_name = CASE other_field WHEN 1 THEN 'value' WHEN 2 THEN 'value' WHEN 3 THEN 'value' END WHERE id IN (1,2,3)測試代碼如下:<?php /* *function: insert app's apk ,logo_url, document_title,app_desc,package_name * into talbe atable use database db . */ //connect database catx. $server='localhost'; $user='root'; $passwd='root'; $port='3306'; $dbname='catx'; $link=mysql_connect($server,$user,$passwd); if (!$link) { die('Could not connect: ' . mysql_error()); } else echo "Connected successfully/n"; mysql_select_db("db",$link); //set init variable and start time $st=microtime_float(); $table="pydot_g"; $path = "txt"; $fname_package_name = "package_name.txt"; // $handle= @fopen($path."/".$fname_package_name, "r"); $i=1; $sql = "UPDATE pydot_g SET package_name = CASE id "; $ids=""; while(($buf[$i]=fgets($handle,512))!==false){ $sql .= sprintf("WHEN %d THEN '%s' ", $i, $buf[$i]); // 拼接SQL語句 $ids .= sprintf("%d,",$i); $i++; } //$ids=implode(',',$ids); $ids.=$i; $sql .= "END WHERE id IN ($ids)"; echo $sql; mysql_query($sql); fclose($handle); mysql_close($link); //echo the results and total time used $et=microtime_float(); $t=$et-$st; echo "/r/ninsert into talbe ",$table," ",$i,"times;/r/n"; echo "Total time $t seconds./r/n"; //function calculate time ,return a float number function microtime_float(){ list($usec, $sec) = explode(" ", microtime()); return ((float)$usec + (float)$sec); } ?>
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 辽阳市| 绵阳市| 福清市| 华亭县| 泰宁县| 武清区| 会理县| 吉林省| 疏附县| 鄄城县| 阳信县| 北辰区| 遂溪县| 永城市| 曲阳县| 泽州县| 中卫市| 陕西省| 桦甸市| 新津县| 余江县| 松潘县| 宁波市| 阿合奇县| 彭山县| 乡宁县| 六枝特区| 商都县| 项城市| 广昌县| 天门市| 屏南县| 瑞安市| 香河县| 仁怀市| 麟游县| 辽阳县| 鸡东县| 新泰市| 电白县| 周口市|