如何删除一个具有重复用户名的行到其他行?

时间:2013-03-18 20:28:25

标签: 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' && id=''");

如何修改此项,以便删除名为john的一行,而不是所有行?

固定代码

简单的解决方案。

$query = ("DELETE FROM table WHERE username='$name' LIMIT 1");

2 个答案:

答案 0 :(得分:0)

我不确定它是否可能,但可能将结果限制为1?

$query = ("DELETE FROM table WHERE username='$name' LIMIT 1");

答案 1 :(得分:0)

我相信这会奏效:

$name = 'john';

$query = ("DELETE FROM table WHERE id = (SELECT id FROM table WHERE username = '$name' ORDER BY RAND() LIMIT 1)");