mysql非循环update多条记录的方法解析

发布时间:2019-12-28编辑:脚本学堂
如何在mysql中,不使用循环语句,又可以update更新多条记录呢?这里分享下具体的解决方法,供大家学习参考。

本节内容:
mysql/ target=_blank class=infotextkey>mysql数据库中,不用循环语句,直接update更新多条记录。

UPDATE 查询语句中,无法简单地写进去多个值。

不同情况下,可以用不同的方法解决。

如果确信将要update的记录是存在的,可以用INSERT ... ON DUPLICATE KEY UPDATE代替(请沉思)。

如果并非100%确定这条记录存在,那么最好建一个临时表,插进去全部试图更新的值,然后执行一条多表update查询。

如果跑的是MariaDB,或是Percona Server,则可以尝试下在HandlerSocket接口上做update。
可以大幅消除由于执行多条查询带来的开销。甚至,对于每个update执行一条查询的情况一样有效。

说明:
不同方法的性能差异在于数据和要做的事情。
一定要在数据、服务器和应用程序上进行测试。

就介绍这些了,以上三种情况下的不同方法,大家都可以亲自测试下,多动手、多动脑、多进步。