我需要使用PHP更新数据库中的重复记录。
例如:
我在数据库中有三个相同的记录micheal
。我需要将两个micheal
记录更新为micheal 1
和micheal 2
,但保留一个micheal
。
答案 0 :(得分: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和名称存储为数组并启动更新。
答案 1 :(得分: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;
然后添加一个唯一索引以防止它再次发生。