我想知道是否有任何解决方案可以在一个查询中删除多行?
我正在使用带有多个输入的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。
答案 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