MySql更新多条数据不建议使用UPDATE语句
来源:互联网 发布:如何当网络作家 编辑:程序博客网 时间:2024/05/21 11:15
我们知道当插入多条数据的时候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' WHEREid=1;UPDATE t_member SET name='angel',email='angel@163.com' WHEREid=4;UPDATE t_member SET name='brank',email='ba198@126.com' WHEREid=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标准语法!
0 0
- MySql更新多条数据不建议使用UPDATE语句
- MySql 中 一次update更新多条数据
- UPDATE语句更新数据
- mysql一条语句update多条记录
- mysql 更新数据 update
- mysql中update多条相同数据时,如何只做到只更新其中一部分?
- mysql update修改多条数据
- mysql 多表update更新语句
- mysql语句:批量更新多条记录
- mysql 一次更新(update)多条记录
- Mysql 一条SQL语句实现批量更新数据,update结合case、when和then的使用案例
- Mysql 一条SQL语句实现批量更新数据,update结合case、when和then的使用案例
- Mysql 一条SQL语句实现批量更新数据,update结合case、when和then的使用案例
- MySQL不需循环update多条记录
- mysql 批量update更新数据
- MySQL 以UPDATE更新数据
- mysql update limit 限制更新条数
- Mysql跨表更新多表update sql语句
- 我对生活是不是有点太矫情了
- 【软件工程】生存期模型(含图)
- hdu 1151 Air Raid DaG 图的最小路径覆盖
- 使用Canvas、Bitmap时易犯的内存泄露问题
- 结构体应用
- MySql更新多条数据不建议使用UPDATE语句
- C++ 关键字——friend
- 虚函数的真相(VC编译器如何实现“virtual ”规则)
- Password for '(null)' GNOME keyring
- Uva 101 - The Blocks Problem
- Android 调用系统相机拍照保存以及调用系统相册的方法
- Lua5.1编程1:Lua语言基础
- 为OpenWrt安装TL-WN722N无线网卡
- NIO与IO的区别