我创建了一个高分榜,用户在完成课程后存储结果。问题是,如果人们重新加载页面,他们的分数将再次打印在数据库中。我做的一个快速修复是只选择高分列表中的不同条目。不幸的是,重复的用户名和分数仍会打印在数据库中。
我尝试使用此代码删除重复项
$sql = "INSERT INTO tmp (SELECT DISTINCT * FROM score)";
$sql = "DELETE FROM score";
$sql = "INSERT INTO score (SELECT * FROM tmp)";
其中tmp
是存储条目的临时表。
我也尝试在第2行使用TRUNCATE
,但它不起作用。
答案 0 :(得分:0)
DISTINCT
根据您的选择返回唯一行。选择所有列时,它将仅排除所有列值与另一行完全匹配的行。如果存在唯一列(例如主键),则保证每一行都是唯一的,并且将返回所有行。