Mysql在一个语句中多次删除或行。有限制吗?

时间:2010-11-04 17:39:11

标签: mysql delete-row

我在PHP / Mysql中使用这样的语句:

DELETE FROM `site1` . `users` WHERE `email` IN ('eric@me.net', 'joe@aol.com', 'bill@me.com')

我一次可能有几百个或一个thounsand,这对MySql来说会有问题吗? 用于“IN”功能的数组是否有限制?

感谢

3 个答案:

答案 0 :(得分:5)

根据the documentation,对IN的参数数量没有具体限制:

“IN列表中的值数量仅受max_allowed_pa​​cket值的限制。”

答案 1 :(得分:2)

最佳做法我会批量不超过100,如果必须立即将它们删除,你可以将它们包装在交易中。

答案 2 :(得分:1)

我创建一个包含值的临时表,并从查询中引用它。