2011-08-30 37 views
-2

我需要使用PHP更新數據庫中的重複記錄。使用PHP更新重複的MySQL記錄

例如:

我在數據庫中有三個相同的記錄micheal。我迫切需要將兩個micheal記錄更新爲micheal 1micheal 2,但保留原來的一個micheal

任何人都可以幫助我嗎?

+7

標記爲急迫不會幫助你,而是把關懷和思想納入你的問題。現在,你到目前爲止做了什麼? –

回答

0
$query = "SELECT * FROM table ORDER BY name"; 

$result = mysql_query($query, $db) or die('MySQL Error: ' . mysql_error()); // if mysql_query fails, prints the error reported by the mysql server and stops execution 

$lastName = ""; 
$i = 1; 
while($row = mysql_fetch_assoc($result)) { 

    if ($lastName==$row['name']){ 
     $q = "UPDATE table set name ='".$row['name']." ".$i."' WHERE id = ".$row['id']; 
     mysql_query($q, $dbh) or die ("problema con query"); 
     $i++; 
    } 

    else 
     $i = 1; 

    $lastName = $row['name']; 
} 

如果您遇到併發修改問題,請嘗試將ID和名稱存儲爲陣列並啓動更新。

+0

不客氣,但如果你可以嘗試標記我的答案被接受;) – ganzux

0

嘗試....

UPDATE yourdata 
SET name='michael 1' 
WHERE name='michael' 
LIMIT 0,1; 

UPDATE yourdata 
SET name='michael 2' 
WHERE name='michael' 
LIMIT 0,1; 

然後加入,以防止其再次發生的唯一索引。

+0

如果它是10000'michael'那裏呢? :)'for($ i = 0; $ i <9999; $ i ++)...'? – J0HN