Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/243.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/8/mysql/65.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/5/flutter/9.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 - Fatal编程技术网

Php 删除重复条目mysql

Php 删除重复条目mysql,php,mysql,Php,Mysql,我有一个表名作为助学金 用户名中存在重复条目,如何删除重复条目 这是我的助学金桌 UserID UserName 1 ca11074 2 ca11074 3 cb56456 4 cb56456 我需要删除重复的条目 在这里,我尝试了,但不幸的是没有工作 $sql = "DELETE FROM bursary WHERE UserName IN (SELECT UserName FROM bursary (COUNT(*

我有一个表名作为助学金

用户名中存在重复条目,如何删除重复条目

这是我的助学金桌

UserID    UserName
  1       ca11074
  2       ca11074
  3       cb56456
  4       cb56456
我需要删除重复的条目

在这里,我尝试了,但不幸的是没有工作

$sql = 
"DELETE FROM bursary  
WHERE UserName IN (SELECT UserName FROM bursary (COUNT(*) > 1)";
$result=mysql_query($sql);

请使用“添加唯一值”和“忽略”删除所有重复值

ALTER IGNORE TABLE `my_table`
    ADD UNIQUE (`Username`);
之后,您可以根据需要删除unique。

尝试以下操作:

$sql = "ALTER IGNORE TABLE `bursary` ADD UNIQUE INDEX index_name (`UserName`);";
$result = mysql_query($sql);

这将删除重复项。它将保留ID最低的行

DELETE FROM bursary a
WHERE exists (select 1 from bursary b
               where a.UserName = b.UserName and
                     a.id > b.id)

您可以对用户名列应用唯一键,这样将删除重复的条目。

您可以使用内部联接

DELETE a
FROM YOUR_TABLE AS a 
INNER JOIN YOUR_TABLE AS b ON a.UserName = b.UserName 
WHERE  a.UserID < b.UserID;
删除一个
从你的桌子上
在a.UserName=b.UserName上以b的形式内部连接您的_表
其中a.UserID

或者,您可以创建另一个临时表,在它截断您的临时表并将临时表数据复制到您的临时表并删除临时表后,从您的临时表到临时表中选择不同的值。

您可以尝试以下查询:

Delete bs from bursary bs,bursary bs2 
where bs.UserID > bs2.UserID and bs.UserName = bs2.UserName;

使用上述查询,您可以删除重复的
用户名
条目。

您希望保留哪一条?此外,随着尝试的进行,这是相当可怜的:-(“不工作”是什么意思?申请后会收到什么错误消息?我只想保留用户名,不重复。如果用户名相同,请删除
delete from bursary b1 
where rowid > (SELECT min(rowid) FROM bursary b2 group by 
               b2.UserID,b2.UserName);