DELETE * FROM TABLE WHERE this=that 不起作用

DELETE * FROM TABLE WHERE this=that not working

我不确定为什么这个查询不起作用!本次查询是删除用户账号:

$query = mysqli_query($connection, "DELETE * FROM users WHERE cookie='$cookie'");

但是,当我用 SELECT 替换 DELETE 时,它起作用了!我的 DELETE 语法错误吗?

使用 DELETE 时不需要 *。就做

"DELETE FROM users WHERE cookie='$cookie'"

DELETE 语句中不能有 *

如果要删除所有行,可以这样做:

$query = mysqli_query($connection, "DELETE FROM users WHERE cookie='$cookie'");

当您使用 SELECT * FROM 时,* 会 select 一切。但是对于DELETE,不需要,因为你只能删除整行。

当您使用 SELECT * 时,它起作用了,因为您选择了 table 中的所有列。在您的情况下,您的查询应如下所示

DELETE FROM users WHERE cookie='$cookie'

因为不需要在此处指定列。