1

这是表格:

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");
4

2 回答 2

0

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

$query = ("DELETE FROM table WHERE username='$name' LIMIT 1");
于 2013-03-18T20:31:53.077 回答
0

I believe this will work:

$name = 'john';

$query = ("DELETE FROM table WHERE id = (SELECT id FROM table WHERE username = '$name' ORDER BY RAND() LIMIT 1)");
于 2013-03-18T20:39:29.737 回答