Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用PHP更新重复的MySQL记录_Php_Mysql_Duplicates - Fatal编程技术网

使用PHP更新重复的MySQL记录

使用PHP更新重复的MySQL记录,php,mysql,duplicates,Php,Mysql,Duplicates,我需要使用PHP更新数据库中的重复记录 例如: 数据库中有三条相同的记录micheal。我需要将两条micheal记录更新为micheal 1和micheal 2,但保留了一条micheal $query = "SELECT * FROM table ORDER BY name"; $result = mysql_query($query, $db) or die('MySQL Error: ' . mysql_error()); // if mysql_query fails, prints

我需要使用PHP更新数据库中的重复记录

例如:

数据库中有三条相同的记录
micheal
。我需要将两条
micheal
记录更新为
micheal 1
micheal 2
,但保留了一条
micheal

$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和名称存储为数组并启动更新。

尝试

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

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

然后添加一个独特的索引,以防止再次发生。

标记为“紧急”并不会帮助您解决问题,相反,请在您的问题中谨慎思考。现在,到目前为止你都试了些什么?如果里面有10000个michael呢<$i=0;$i的代码>为