mysql语句中in的个数没有限制,但是整段sql语句的长度有限制(客户端发送)

我们看到一些文章,问题描述:mysql语句中in的个数到底有没有限制,答案是有的,限制个数为1000。
而且看到网友发的截图超过1000确实报错了,我亲测试了下发现,并没有报错。
在这里插入图片描述

结论:

Oracle中,in语句中可放的最大参数个数是1000个。之前遇到超过1000的情况,可用如下语句,但如此多参数项目会低,可考虑用别的方式优化。

select * from Table where id in(xxx,xxx...) or id in(yyy,yyy,...)

mysql中,in语句中参数个数是**不限制**的。不过对**整段**sql语句的**长度有了限制**(max_allowed_packet)。默认是4M!

在这里插入图片描述

参考:
https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_max_allowed_packet
  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值