Mysql 如何删除包含特定值的所有行

Mysql 如何删除包含特定值的所有行,mysql,Mysql,我有一个包含用户权限的表。我想删除所有user\u id=$user\u id的记录 我在下面尝试了这段代码,但似乎每个查询只删除1条记录。 我有这样的桌子: `user_id` `cat1` `cat2` `cat3` 100 1000 2000 3000 100 1000 2000 3001 200 2500 2501 3000 100 3000 3500 3333 等等。 我的查询似乎工作不正常,删除

我有一个包含用户权限的表。我想删除所有user\u id=$user\u id的记录 我在下面尝试了这段代码,但似乎每个查询只删除1条记录。 我有这样的桌子:

`user_id` `cat1` `cat2` `cat3`
 100       1000   2000   3000
 100       1000   2000   3001
 200       2500   2501   3000
 100       3000   3500   3333
等等。 我的查询似乎工作不正常,删除了所有等于$user\u id的记录

查询从tbl中删除,其中user_id='。$user_id'将删除user_id与作为参数传递的值匹配的所有行

若并没有任何匹配项,查询将不会执行任何操作,仅此而已

问候,,
Bojan

您确定$user_id等于100吗?如果$user_id为100,将删除user_id为100的所有行,如果不为100,则其中任何一行都不是100…您是否尝试从命令行运行该命令以进行检查?查询似乎已更正。函数已折旧,请参阅。请尝试此$query=DELETE FROM tbl,其中user_id='。$user_id';用户id几乎肯定是整数类型的列,因此不需要将其引用为字符串。OP表示原始查询有效;它只是删除了太少的行。这个答案没有解决这个问题。是的,但他没有指定它是整数。那么,如果用户id实际上是字符串呢?
<?php
  $query="DELETE FROM tbl WHERE user_id=".$user_id;
  mysql_query($query);
?>