使用 PHP 更新重复的 MySQL 记录

发布于 2024-12-02 05:48:22 字数 197 浏览 1 评论 0原文

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

例如:

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

I need to update the duplicate records in database using PHP.

For example:

I have three identical record micheal in the database. I need to update the two micheal records into micheal 1 and micheal 2, but left one micheal as is.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

扎心 2024-12-09 05:48:22

尝试....

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

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

然后添加唯一索引以防止再次发生。

Try....

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

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

Then add a unique index to prevent it happening again.

找回味觉 2024-12-09 05:48:22
$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 和名称存储为数组并启动更新。

$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'];
}

If you have problems with concurrent modifications, try to store the ids and the names as an array and launch the updates.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文