我在PHP / Mysql中使用这样的语句:
DELETE FROM `site1` . `users` WHERE `email` IN ('eric@me.net', 'joe@aol.com', 'bill@me.com')
我一次可能有几百个或一个thounsand,这对MySql来说会有问题吗? 用于“IN”功能的数组是否有限制?
感谢
答案 0 :(得分:5)
根据the documentation,对IN
的参数数量没有具体限制:
“IN列表中的值数量仅受max_allowed_packet值的限制。”
答案 1 :(得分:2)
最佳做法我会批量不超过100,如果必须立即将它们删除,你可以将它们包装在交易中。
答案 2 :(得分:1)
我创建一个包含值的临时表,并从查询中引用它。