2011-08-30 12 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

関連する問題