欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時間:2014年06月23日 15:06:28   投稿:whsnow  
這篇文章主要介紹了mysql 一次更新(update)多條記錄的思路,需要的朋友可以參考下

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

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

創(chuàng)建的時候,因為我把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); 
} 
?>

相關文章

  • Mysql報錯too many connections的原因及解決方案

    Mysql報錯too many connections的原因及解決方案

    這篇文章主要給大家介紹了關于Mysql報錯too many connections原因及解決方案,文中通過實例代碼以及圖文介紹的非常詳細,需要的朋友可以參考下
    2023-09-09
  • mysql用一個表更新另一個表的方法

    mysql用一個表更新另一個表的方法

    下面小編就為大家?guī)硪黄猰ysql用一個表更新另一個表的方法。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-01-01
  • 簡單談談MySQL中的int(m)

    簡單談談MySQL中的int(m)

    設置int型的時候,需要設置int(M),以前知道這個M最大是255,但是到底應該設置多少并沒有在意。注意zerofill,今天我們來簡單探討下
    2016-09-09
  • MySQL 相關的環(huán)境變量

    MySQL 相關的環(huán)境變量

    所有使用mysqlclient客戶庫與服務器通信的MySQL客戶使用下列環(huán)境變量
    2009-06-06
  • mysql?explain中key_len的含義以及計算方法

    mysql?explain中key_len的含義以及計算方法

    通常在優(yōu)化SQL查詢的時候,我們都會使用explain分析SQL執(zhí)行計劃,下面這篇文章主要給大家介紹了關于mysql?explain中key_len的含義以及計算方法的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-03-03
  • mysql日志文件General_log和Binlog開啟及詳解

    mysql日志文件General_log和Binlog開啟及詳解

    MySQL中的數據變化會體現在上面日志中,下面這篇文章主要給大家介紹了關于mysql日志文件General_log和Binlog開啟及詳解的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-07-07
  • MySQL 數據庫 索引和事務

    MySQL 數據庫 索引和事務

    這篇文章主要介紹了MySQL 數據庫 索引和事務,索引是為了加速對表中數據行的檢索而創(chuàng)建的一種分散的存儲結;事物是屬于計算機中一個很廣泛的概念,一般是指要做的或所做的事情,下面我們就一起進入文章了解具體內容吧
    2021-12-12
  • MySQL中CONCAT()函數拼接出現NULL的問題解決

    MySQL中CONCAT()函數拼接出現NULL的問題解決

    本文主要介紹了MySQL中CONCAT()函數拼接出現NULL的問題解決,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-03-03
  • MySQL 案例分析講解外連接語法

    MySQL 案例分析講解外連接語法

    數據庫的一個難題是無法將SQL語句的執(zhí)行結果轉換為想要的格式。本節(jié),我們將通過學習格式轉換中具有代表性的行列轉換和嵌套式側欄的生成方法,深入理解一下其中有重要作用的外連接
    2022-04-04
  • Linux服務器中MySQL遠程連接的開啟方法

    Linux服務器中MySQL遠程連接的開啟方法

    今天在Linux服務器上安裝了msyql數據庫,在本地訪問的時候可以訪問,但是我想通過遠程的方式訪問的時候就不能訪問了,查詢資料后發(fā)現,Linux下MySQL默認安裝完成后只有本地訪問的權限,沒有遠程訪問的權限,需要你給指定用戶設置訪問權限才能遠程訪問該數據庫
    2017-06-06

最新評論