MySql更新多条数据不建议使用UPDATE语句
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了MySql更新多条数据不建议使用UPDATE语句,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1445字,纯文字阅读大概需要3分钟。
内容图文
![MySql更新多条数据不建议使用UPDATE语句](/upload/InfoBanner/zyjiaocheng/556/b9fed6189f2a4d98a441b439ffd65a54.jpg)
我们知道当插入多条数据的时候insert支持多条语句: INSERT INTO t_member (id, name, email) VALUES (1, 'nick', 'nick@126.com'), (4, 'angel','angel@163.com'), (7, 'brank','ba198@126.com'); 但是对于更新记录,由于update语法不支持一次更新多条记录
我们知道当插入多条数据的时候insert支持多条语句:
INSERT INTO t_member (id, name, email) VALUES (1, 'nick', 'nick@126.com'), (4, 'angel','angel@163.com'), (7, 'brank','ba198@126.com');
但是对于更新记录,由于update语法不支持一次更新多条记录,只能一条一条执行:
UPDATE t_member SET name='nick', email='nick@126.com' WHERE id=1; UPDATE t_member SET name='angel', email='angel@163.com' WHERE id=4; UPDATE t_member SET name='brank', email='ba198@126.com' WHERE id=7;
这里问题就出现了,倘若这个update list非常大时(譬如说5000条),这个执行率可想而知。
这就要介绍一下在MySql中INSERT语法具有一个条件DUPLICATE KEY UPDATE,这个语法和适合用在需要判断记录是否存在,不存在则插入存在则更新的记录。
具体的语法可以参见:http://dev.mysql.com/doc/refman/5.0/en/insert.html
基于上面这种情况,针对更新记录,仍然使用insert语句,不过限制主键重复时,更新字段。如下:
INSERT INTO t_member (id, name, email) VALUES (1, 'nick', 'nick@126.com'), (4, 'angel','angel@163.com'), (7, 'brank','ba198@126.com') ON DUPLICATE KEY UPDATE name=VALUES(name), email=VALUES(email);
注意:ON DUPLICATE KEY UPDATE只是MySQL的特有语法,并不是SQL标准语法!
原文地址:MySql更新多条数据不建议使用UPDATE语句, 感谢原作者分享。
内容总结
以上是互联网集市为您收集整理的MySql更新多条数据不建议使用UPDATE语句全部内容,希望文章能够帮你解决MySql更新多条数据不建议使用UPDATE语句所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。