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

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

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

工作中遇到一個問題:要更新一個數(shù)據(jù)表。

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

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

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

name全部導(dǎo)入數(shù)據(jù)庫中了,但是我的package沒有導(dǎo)入,這時我仍然想用insert的方法插入,但是不行。

這時候應(yīng)該利用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); 
} 
?>

相關(guān)文章

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

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

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

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

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

    簡單談?wù)凪ySQL中的int(m)

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

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

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

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

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

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

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

    MySQL 數(shù)據(jù)庫 索引和事務(wù)

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

    MySQL中CONCAT()函數(shù)拼接出現(xiàn)NULL的問題解決

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

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

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

    Linux服務(wù)器中MySQL遠(yuǎn)程連接的開啟方法

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

最新評論