在使用PHP(mysqli)时,有没有一种批量删除MySQL的方法?
对于插入操作,你可以采用以下方式:
insert into tbl (...) values (...) (...) (...) ...
有没有相应的东西可以用来删除?
在使用PHP(mysqli)时,有没有一种批量删除MySQL的方法?
对于插入操作,你可以采用以下方式:
insert into tbl (...) values (...) (...) (...) ...
delete from tbl where id IN (1,2,3)
或者
delete from tbl where id = 1 OR id = 2 OR email = 'admin@example.com'
通过先执行 select 操作,您可以确保删除正确的数据...
PS:对于 PHP,
<?
$ids = array(1,2,3);
$sql = "DELETE FROM tbl WHERE id IN (" . implode(',', $ids) . ")";
?>
或者
<?
$deleteme = array("id = 1", "id = 2", "email = 'admin@example.com'");
$sql = "DELETE FROM tbl WHERE " . implode(' OR ', $deleteme);
?>
OR
,请改用 IN
。 - CliveIN
.. 我会修改我的答案。 - VyrielWHERE X = Y
条件删除行。因此,如果您想要删除多行,只需将条件扩展为WHERE X = Y OR X = Z
甚至WHERE X IN (Y, Z, ..)
WHERE
子句。例如:DELETE FROM table WHERE Id in (0,1,...,n)
在删除语句中使用In子句,这是最好的方法之一,你可以在In子句中传递数千个ID。我个人测试过2.5万个ID并且它能够正常工作。
WHERE
:DELETE FROM tbl WHERE id IN (1, 2, 3)
。 - Clive