Php 如何删除与其他行具有重复用户名的一行?
这是表格:Php 如何删除与其他行具有重复用户名的一行?,php,sql,delete-row,corresponding-records,Php,Sql,Delete Row,Corresponding Records,这是表格: username: id: john 1 john 2 john 56 john 75 john 98 现在我希望查询并随机删除其中一行,保留其他四行——假设我不知道ID的值,因为它是自动递增的 这是代码,我不确定要添加什么,所以它只删除与“john”关联的一行 $query = ("DELETE FROM table WHERE username='$name' &&
username: id:
john 1
john 2
john 56
john 75
john 98
现在我希望查询并随机删除其中一行,保留其他四行——假设我不知道ID的值,因为它是自动递增的
这是代码,我不确定要添加什么,所以它只删除与“john”关联的一行
$query = ("DELETE FROM table WHERE username='$name' && id=''");
我如何修改它,使其删除一行名为john,而不是全部
固定代码
这是一个简单有效的解决方案
$query = ("DELETE FROM table WHERE username='$name' LIMIT 1");
我不确定这是否可能,但可能将结果限制为1
$query = ("DELETE FROM table WHERE username='$name' LIMIT 1");
我相信这会奏效:
$name = 'john';
$query = ("DELETE FROM table WHERE id = (SELECT id FROM table WHERE username = '$name' ORDER BY RAND() LIMIT 1)");
听起来你应该让用户名成为一个唯一的索引。谢谢,这正是我想要的@user2142549如果一个答案有效,并且你认为它是好的,那么你应该点击选票下面的复选框。这接受了答案,并给了回答者声誉。它也给你2的声誉。