2011-08-30 1 views
-2

PHP를 사용하여 데이터베이스의 중복 레코드를 업데이트해야합니다. 예를 들어PHP를 사용하여 중복 된 MySQL 레코드 업데이트

:

나는 데이터베이스에있는 3 개 개의 동일한 기록 micheal 있습니다. 2 개의 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'마이클 '이라면 어떻게 될까요? :)'for ($ i = 0; $ i <9999; $ i ++) ... '? – J0HN