update语句报错 statement transaction required more than 'max_binlog_cache_size' bytes of storage(解决方法)

公司开发环境中 发现某个字段值(is_face) 的数据全部错了,需要统一更新为 0

update语句报错 statement transaction required more than 'max_binlog_cache_size' bytes of storage(解决方法)_第1张图片

之后我写了SQL执行修改UPDATE table SET is_face = 0;  结果报了这样的错,如下:


翻译过来:语句事务大于“最大的binlog缓存大小”的存储字节;
人话是:修改的条数太多啦,你他妈的要改多少行,我内存里都放不下你的修改记录了;你应该把这个配置数改大点知道不

想一想,原来我这张表的数据量是  10万+,就说改不了;
于是,修改 max_binlog_cache_size 的字节数,改大点SQL:set global max_binlog_cache_size=1048576;(或者直接改配置文件)
尴尬的是,我没有改配置的权限~


怎么办呢?既然是不让我修改这么多条,我就少修改点呗~
于是乎,SQL就变成了这样了UPDATE media_film_photo SET is_face = 0 WHERE id >0 and id <10000;
好了,大功告成,修改成功,受影响行数 9986(之前 有is_face是0的数据)
update语句报错 statement transaction required more than 'max_binlog_cache_size' bytes of storage(解决方法)_第2张图片
然后修改范围直到所有的都修改完毕:UPDATE media_film_photo SET is_face = 0 WHERE id >=10000 and id <20000;
.......
【完结】

你可能感兴趣的:(MySQL)