在MySQL中删除具有特定参数的多行

时间:2012-12-10 23:29:36

标签: mysql database sql-delete

我想知道是否有任何解决方案可以在一个查询中删除多行?

我正在使用带有多个输入的select元素,所以当我发送表单时,我的$ _POST中有一个数组。

例如,我想取消订阅一个表中的用户到一个以上的课程所以我有:

users.id | lesson.id
--------------------
1        | 1
1        | 2
1        | 3
1        | 4

我的选择发布了一个带有lesson.id的数组:

Array
(
    [0] => 2
    [1] => 3
    [2] => 4
)

如何只使用一个查询,从表中删除所有行?

BTW,我一直都知道users.id。

1 个答案:

答案 0 :(得分:2)

如果您只想删除这三个lesson_id

delete from lesson_table
where users_id = 1 and lesson_id in (2, 3, 4)

如果您要删除除一个任意课程以外的所有课程,并且您知道,用户1有4节课,那么您可以limit删除到3 lesson_ids

delete from lesson_table
where users_id = 1
limit 3