Php 是否更新列值或删除重复的列值?

Php 是否更新列值或删除重复的列值?,php,mysql,primary-key,duplicates,Php,Mysql,Primary Key,Duplicates,我有一个MySQL表,它有三列: Authority | MapID | Time --------------------------------------------------------- animuson@forums | 000000000000000 | 45.6758 132075829385895 | 000000000000000 | 49.7869 qykumsoy@f

我有一个MySQL表,它有三列:

Authority           | MapID                   | Time
---------------------------------------------------------
animuson@forums     | 000000000000000         | 45.6758
132075829385895     | 000000000000000         | 49.7869
qykumsoy@forums     | 000000000000000         | 44.45
439854390263565     | 000000000000000         | 50.761
user@forums         | 000000000000000         | 44.9
another@auth        | 000000000000000         | 46.123
bingo@nameo         | 000000000000000         | 47.4392
我要做的是,一旦你链接你的帐户,它会将权限从你使用的任何机构名称更改为你的帐户ID号。所以如果我链接'animuson@forums“还有”qykumsoy@forums'到我的帐户,并且我的帐户ID号是'132075829385895',那么我将有3个重复的条目,因为主键是Authority+Map ID。我一次只能更改一个权限,但要更改多个Map ID,因此,我试图找到一种方法,将权限更改为他们的用户ID,如果是重复的,请选择最短时间,然后删除另一个。MySQL可以这样做吗?还是我需要使用PHP

因此,在链接了这两个帐户之后,我将得到以下表格:

Authority           | MapID                   | Time
---------------------------------------------------------
132075829385895     | 000000000000000         | 44.45
439854390263565     | 000000000000000         | 50.761
user@forums         | 000000000000000         | 44.9
another@auth        | 000000000000000         | 46.123
bingo@nameo         | 000000000000000         | 47.4392
我当前使用的MySQL命令只是更改了权限:

UPDATE `tronner_times` SET `auth` = '{$ani->e->user->uid}' WHERE `auth` = '{$actual}'

这听起来像是更新前触发器的作业。

我将使用存储过程进行更新。在该过程中,您可以处理检查其他值的逻辑,必要时删除,然后更新。

您知道选择所有时间,其中Authority=ID号,然后加入所有where Authority=New链接where Time