Php 是否更新列值或删除重复的列值?
我有一个MySQL表,它有三列: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
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